打印UIView视图层次关系(转)

转自“http://www.cnbluebox.com/?cat=15”

感觉在调试的时候很实用,就记下来分享下,以前尽然不知道,还要不停的在控制台打subviews。

UIView的方法recursiveDescription,在控制台断点时gdb或者lldb下,打

1
[view recursiveDescription]

贴一下展示效果:

1
2
3
4
5
6
7
8
9
10
<UILayoutContainerView: 0x16533fd0; frame = (0 0; 320 432); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x16532a20>; layer = <CALayer: 0x16532f90>>
   | <UIView: 0x16531740; frame = (0 20; 320 480); layer = <CALayer: 0x16531710>>
   | <UINavigationTransitionView: 0x16532290; frame = (0 0; 320 432); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x165317c0>>
   |    | <UIViewControllerWrapperView: 0x17e859a0; frame = (0 20; 320 412); autoresize = W+H; layer = <CALayer: 0x17e85a10>>
   |    |    | <UIView: 0x16701b30; frame = (0 0; 320 412); autoresize = W+H; layer = <CALayer: 0x16703ef0>>
   |    |    |    | <TPKeyboardAvoidingTableView: 0x1737dc00; baseClass = UITableView; frame = (0 0; 320 416); clipsToBounds = YES; gestureRecognizers = <NSArray: 0x16701c30>; layer = <CALayer: 0x16701b90>; contentOffset: {0, 82}>
   |    |    |    |    | <UITableViewCell: 0x1795b620; frame = (0 453; 320 40); text = '用户反馈'; autoresize = W; layer = <CALayer: 0x1795b7b0>>
   |    |    |    |    |    | <UIImageView: 0x17800310; frame = (9 0; 302 40); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x178002e0>>
   |    |    |    |    |    | <UITableViewCellContentView: 0x1795b7e0; frame = (10 0; 281 39); gestureRecognizers = <NSArray: 0x1795b950>; layer = <CALayer: 0x1795b850>>
   |    |    |    |    |    |    | <UILabel: 0x178005f0; frame = (1
原文地址:https://www.cnblogs.com/ftrako/p/4045163.html