NSArray *allSubviews(UIView*aView)
{
NSArray*results = [aView subviews];
for (UIView *eachViewin[aView subviews])
{
NSArray*riz = allSubviews(eachView);
if(riz) results = [resultsarrayByAddingObjectsFromArray:riz];
}
returnresults;
}
// Return all views throughout the application
NSArray *allApplicationViews()
{
NSArray*results = [[UIApplicationsharedApplication] windows];
for (UIWindow *windowin[[UIApplicationsharedApplication]windows])
{
NSArray*riz = allSubviews(window);
if(riz) results = [resultsarrayByAddingObjectsFromArray:riz];
}
returnresults;
}
// Return an array of parent views from the window down to the view
NSArray *pathToView(UIView*aView)
{
NSMutableArray*array = [NSMutableArrayarrayWithObject:aView];
UIView*view = aView;
UIWindow*window = aView.window;
while(view != window)
{
view = [view superview];
[array insertObject:viewatIndex:0];
}
returnarray;
}