#import "UIView+Recursion.h" @implementation UIView (Recursion) - (UIView*)findViewRecursively:(BOOL(^)(UIView* subview, BOOL* stop))recurse { for( UIView* subview in self.subviews ) { BOOL stop = NO; if( recurse( subview, &stop ) ) { return [subview findViewRecursively:recurse]; } else if( stop ) { return subview; } } return nil; } @end