开发中一些小技巧 - 递归打印子视图

 1 // 递归获取子视图
 2 - (void)getSub:(UIView *)view andLevel:(int)level {
 3     NSArray *subviews = [view subviews];
 4 
 5     // 如果没有子视图就直接返回
 6     if ([subviews count] == 0) return;
 7 
 8     for (UIView *subview in subviews) {
 9 
10         // 根据层级决定前面空格个数,来缩进显示
11         NSString *blank = @"";
12         for (int i = 1; i < level; i++) {
13             blank = [NSString stringWithFormat:@"  %@", blank];
14         }
15 
16         // 打印子视图类名
17         NSLog(@"%@%d: %@", blank, level, subview.class);
18 
19         // 递归获取此视图的子视图
20         [self getSub:subview andLevel:(level+1)];
21 
22     }
23 }

 

posted @ 2017-04-12 15:30  guangleijia  阅读(528)  评论(0编辑  收藏  举报