转: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 = ; i < indent; i++) [outstring appendString:@"--"];

[outstring appendFormat:@"[%2d] %@\n", indent, [[aView class] description]];

for (UIView *view in [aView subviews])

[self dumpView:view atIndent:indent +  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: 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

UIView的层次结构–code的更多相关文章

  1. iOS - UIView

    前言 NS_CLASS_AVAILABLE_IOS(2_0) @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppeara ...

  2. iOS开发——UI篇OC篇&UIView/UIWindow/UIScreen/CALayer

    UIView/UIWindow/UIScreen/CALayer 1.UIScreen可以获取设备屏幕的大小. 1 2 3 4 5 6 7 // 整个屏幕的大小 {{0, 0}, {320, 480} ...

  3. UIView的作用

    UIView [UIView的作用] 主要用来显示应用程序的内容,可以作为label.button等控件的容器.表示屏幕上的一块矩形区域,同时可以处理该区域的绘制和触屏事件. MVC,MVVM等设计架 ...

  4. UIWindow与UIView

    UIView与UIWindow * 一般应用程序只有一个UIWindow对象.所有的控件都是在UIWindow上展现的.每个UIView对象都有一个window属性,表示当前view显示在哪个窗体上. ...

  5. ios开发学习笔记(这里一定有你想要的东西,全部免费)

    1,Search Bar 怎样去掉背景的颜色(storyboard里只能设置background颜色,可是发现clear Color无法使用). 其实在代码里还是可以设置的,那就是删除背景view [ ...

  6. iOS 开发笔记

    1,Search Bar 怎样去掉背景的颜色(storyboard里只能设置background颜色,可是发现clear Color无法使用) 2,NSDate使用 3,UTTabviewCell 未 ...

  7. iOS项目开发知识点

    前言部分 注:本文并非绝对原创 大部分内容摘自 http://blog.csdn.net/hengshujiyi/article/details/20943045 文中有些方法可能已过时并不适用于现在 ...

  8. iPhone与iPad开发实战读书笔记

    iPhone开发一些读书笔记 手机应用分类1.教育工具2.生活工具3.社交应用4.定位工具5.游戏6.报纸和杂志的阅读器7.移动办公应用8.财经工具9.手机购物应用10.风景区相关应用11.旅游相关的 ...

  9. iOS项目开发中的知识点与问题收集整理①(Part 一)

    前言部分 注:本文并非绝对原创 大部分内容摘自 http://blog.csdn.net/hengshujiyi/article/details/20943045 文中有些方法可能已过时并不适用于现在 ...

随机推荐

  1. jquery之jsonp相关知识

    这里讲的不错,可以参考:链接 我自己的理解: 服务器为了保证数据的安全,同时也为了保证不被攻击, 凡是来服务器请求的url,域名必须和服务器一致,否则就是跨域请求 为了解决跨域问题,就出现了jsonp ...

  2. python接口自动化测试一:http协议

    1. http简介:http(超文本传输协议)是一个基于请求与响应模式的.无状态的.应用层的协议 2. url详解:百度搜索的一个url地址:https://www.baidu.com/s?wd=%E ...

  3. python 全栈开发,Day138(scrapy框架的下载中间件,settings配置)

    昨日内容拾遗 打开昨天写的DianShang项目,查看items.py class AmazonItem(scrapy.Item): name = scrapy.Field() # 商品名 price ...

  4. 步步为营-47-分页显示的SQL语句

    说明:分页显示在实际业务中经常需要用到,其SQL语句分两种 1:分页显示SQL语句 --方法一:跳过多少行,选中多少行 --每页n条,选择第m页--n= m= --)*n 主键 from 表); se ...

  5. Spring Boot学习笔记---Spring Boot 基础及使用idea搭建项目

    最近一段时间一直在学习Spring Boot,刚进的一家公司也正好有用到这个技术.虽然一直在学习,但是还没有好好的总结,今天周末先简单总结一下基础知识,等有时间再慢慢学习总结吧. Spring Boo ...

  6. zjoi 2017 树状数组

    题解: 感觉相比仙人掌简单了很多啊.. 首先会发现那个其实就是后缀和 然后其实就是判断一下两个位置的元素想不想等 然后l=1是要特判的 之后一个易错的地方就是去维护每个数是0/1的概率 因为这样概率是 ...

  7. k8s 使用详解

    转自:https://www.cnblogs.com/gaoyuechen/p/8685771.html

  8. 【Java】 剑指offer(9) 斐波那契数列及青蛙跳台阶问题

     本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项 ...

  9. 011 处理模型数据时@ModelAttribute的使用

    一:说明 1.使用场景 在下面的场景中: 使用new对象时,最后的效果是两个被赋值了,但是还有一个值是空值的,这个不符合只更新两个值,另一个值不变的情况. 正确的做法: 三个值得数据不是new出来的, ...

  10. X分钟速成Python

    先附上一张号称“一篇程序覆盖Python基础的代码”,基本的结构都涉及到了 源代码下载: learnpython-zh.py Python 由 Guido Van Rossum 在90年代初创建. 它 ...