Trouver des sous-vues dans le rectangle

J'ai un grand UIView avec beaucoup de petites subviews . J'ai besoin de find toutes les sous- subviews dans une zone. Je suis actuellement en train de parcourir des sous- subviews et d'utiliser CGRectContainsPoint . Cela fonctionne, mais 90% des sous-vues ne sont généralement pas dans mon rectangle d'intérêt.

Existe-t-il un moyen plus efficace de find toutes les sous- subviews dans un rectangle?

Merci

CGRectContainsRect serait plus approprié. Vous devez toujours parcourir toutes les sous-vues qui pourraient se find dans votre rect en fonction de ce que vous pouvez supposer de leurs positions, mais CGRectContainsRect tout de même plus de sens que CGRectContainsPoint .

 CGRect area = CGRectMake(10,10,200,200); NSMutableArray *viewsWithinArea = [[NSMutableArray alloc] init]; for (UIView *aView in [self.view subviews]) { if(CGRectContainsRect(area,aView.frame)) [views addObject:aView]; } 

La réponse de @james_womack dans Swift :

 func subviewsWithin(area: CGRect) -> [UIView] { return subviews.filter { area.contains($0.frame) } }