转载自:http://blog.csdn.net/theonezh/article/details/8216584
// Recursively travel down the view tree, increasing the indentation level for children
- (void )dumpView:(UIView *)aView atIndent:(int )indent into:(NSMutableString *)outstring
{
for (int i = 0 ; i < indent; i++) [outstring appendString :@"--" ];
[outstring appendFormat :@"[%2d] %@\n" , indent, [[aView class ] description ]];
for (UIView *view in [aView subviews ])
[self dumpView :view atIndent :indent + 1 into :outstring];
}
// Start the tree recursion at level 0 with the root view
- (NSString *) displayViews: (UIView *) aView
{
NSMutableString *outstring = [[ NSMutableString alloc ] init ];
[self dumpView : self .window atIndent :0 into :outstring];
return [outstring autorelease ];
}
// Show the tree
- (void )logViewTreeForMainWindow
{
// CFShow([self displayViews: self.window]);
ATLogInfo ( @"The view tree:\n%@", [ self displayViews : self . window ]);
}
具体用法就是在你想知道你的view的层次的时候,调用一下这个logViewTreeForMainWindow函数就可以了。
比方说:下面这个就是我的打印结果。非常清晰明了!
[ 0] UIWindow
--[ 1] UILayoutContainerView
----[ 2] UINavigationTransitionView
------[ 3] UIViewControllerWrapperView
--------[ 4] UIView -----rootViewController
----------[ 5] UITableView
------------[ 6] ServerViewCell_iphone
--------------[ 7] UITableViewCellContentView
------------[ 6] ServerViewCell_iphone
--------------[ 7] UITableViewCellContentView
----[ 2] UINavigationBar
------[ 3] UINavigationBarBackground
------[ 3] UILabel
------[ 3] UIButton
--------[ 4] UIImageView
--------[ 4] UIImageView
--[ 1] UIView ----backView
--[ 1] UITransitionView
----[ 2] UIView ----CameraPlayerView.
------[ 3] UIView for zoom.--frameView.
--------[ 4] UIImageView
------[ 3] UIImageView
------[ 3] UILabel
--------[ 4] UIImageView
------[ 3] UIImageView
------[ 3] UINavigationBar
--------[ 4] UINavigationBarBackground
--------[ 4] UINavigationItemView
----[ 2] UILayoutContainerView
------[ 3] UINavigationTransitionView -----recordVideoView
--------[ 4] UIViewControllerWrapperView
----------[ 5] UIView
------------[ 6] UITableView
--------------[ 7] UIImageView
--------------[ 7] UIImageView
------------[ 6] UIToolbar
--------------[ 7] _UIToolbarBackground
--------------[ 7] UISegmentedControl
------[ 3] UINavigationBar
--------[ 4] UINavigationBarBackground
--------[ 4] UILabel
--------[ 4] UIButton
----------[ 5] UIImageView
----------[ 5] UIButtonLabel