Существует функция с именем CGRectIntersectsRect, которая получает два CGRect в качестве аргументов и возвращает, если два заданных участка действительно пересекаются.И UIView имеет свойство subviews, которое является NSArray объектов UIView.Таким образом, вы можете написать метод с возвращаемым значением BOOL, который будет перебирать этот массив и проверять, пересекаются ли два прямоугольника, например:
- (BOOL)viewIntersectsWithAnotherView:(UIView*)selectedView {
NSArray *subViewsInView = [self.view subviews];// I assume self is a subclass
// of UIViewController but the view can be
//any UIView that'd act as a container
//for all other views.
for(UIView *theView in subViewsInView) {
if (![selectedView isEqual:theView])
if(CGRectIntersectsRect(selectedView.frame, theView.frame))
return YES;
}
return NO;
}