CGgemetry文件提供了
CGRectContainsRect(CGRect rect1, CGRect rect2) 来判断rect1 是否包含了rect2
CGRectIntersectsRect(CGRect rect1, CGRect rect2) 来判断 rect1 与rect2 是否重叠
CGRectContainsPoint(CGRect rect, CGPoint point) 来判断 点point 是否在rect 里面
判断的前提: 两个rect必须是在同一个坐标系下;得出的结果才是正确的.
一般先把frame 转换到keywindow坐标系下,在进行判断.
坐标系转换:
- (CGRect)convertRect:(CGRect)rect toView:(nullable UIView *)view;
将blueView的某块区域(这里是本身的bounds),转换到 keyWindow的坐标系下(nil 默认表示keyWindow)
CGRect rect1 = [self.blueView convertRect:self.blueView.bounds toView:nil];