UIView的层次结构–code
转:http://blog.dongliwei.cn/archives/uiview-tree-code
// 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