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 = ; 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的更多相关文章
- iOS - UIView
前言 NS_CLASS_AVAILABLE_IOS(2_0) @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppeara ...
- iOS开发——UI篇OC篇&UIView/UIWindow/UIScreen/CALayer
UIView/UIWindow/UIScreen/CALayer 1.UIScreen可以获取设备屏幕的大小. 1 2 3 4 5 6 7 // 整个屏幕的大小 {{0, 0}, {320, 480} ...
- UIView的作用
UIView [UIView的作用] 主要用来显示应用程序的内容,可以作为label.button等控件的容器.表示屏幕上的一块矩形区域,同时可以处理该区域的绘制和触屏事件. MVC,MVVM等设计架 ...
- UIWindow与UIView
UIView与UIWindow * 一般应用程序只有一个UIWindow对象.所有的控件都是在UIWindow上展现的.每个UIView对象都有一个window属性,表示当前view显示在哪个窗体上. ...
- ios开发学习笔记(这里一定有你想要的东西,全部免费)
1,Search Bar 怎样去掉背景的颜色(storyboard里只能设置background颜色,可是发现clear Color无法使用). 其实在代码里还是可以设置的,那就是删除背景view [ ...
- iOS 开发笔记
1,Search Bar 怎样去掉背景的颜色(storyboard里只能设置background颜色,可是发现clear Color无法使用) 2,NSDate使用 3,UTTabviewCell 未 ...
- iOS项目开发知识点
前言部分 注:本文并非绝对原创 大部分内容摘自 http://blog.csdn.net/hengshujiyi/article/details/20943045 文中有些方法可能已过时并不适用于现在 ...
- iPhone与iPad开发实战读书笔记
iPhone开发一些读书笔记 手机应用分类1.教育工具2.生活工具3.社交应用4.定位工具5.游戏6.报纸和杂志的阅读器7.移动办公应用8.财经工具9.手机购物应用10.风景区相关应用11.旅游相关的 ...
- iOS项目开发中的知识点与问题收集整理①(Part 一)
前言部分 注:本文并非绝对原创 大部分内容摘自 http://blog.csdn.net/hengshujiyi/article/details/20943045 文中有些方法可能已过时并不适用于现在 ...
随机推荐
- Android命令Monkey压力测试,详解
一.Monkey 是什么?Monkey 就是SDK中附带的一个工具. 二.Monkey 测试的目的?:该工具用于进行压力测试. 然后开发人员结合monkey 打印的日志 和系统打印的日志,结局测试中出 ...
- spring mvc 校验@NULL
一需要的包 1 validation-api-1.0.0.GA.jar:JDK的接口: 2 hibernate-validator-4.2.0.Final.jar 是对上述接口的实现: 二 若在pom ...
- win7 X64系统上 PL/SQL不能识别Oracle实例
电脑系统为Win7 64位,安装的PLSql为64位,安装的Oracle客户端为运行时类型的,应该为32位客户端 电脑上之前安装的32位toad可以识别Oracle实例 在系统添加了oracle_ho ...
- vue-swiper的使用
写博客不是我的爱好,只是人脑毕竟空间只有那么大,有时候会忘了,好记性不如烂笔头,所以通过博客记录点点滴滴,以后可以翻出来看. vue-awesome-swiper官网链接https://www.npm ...
- php中类继承和接口继承的对比
PHP类继承: 1.PHP类不支持多继承,也就是子类只能继承一个父类,但是支持多层次继承,比如: class frist{ public function __construct(){ echo &q ...
- Java 和 C++ 的部分区别
1. Java是解释型语言,所谓的解释型语言,就是源码会先经过一次编译,成为中间码,中间码再被解释器解释成机器码.对于Java而言,中间码就是字节码(.class),而解释器在JVM中内置了. 2. ...
- P1463 [SDOI2005]反素数ant
题意: 题解: 思维难度不高,考虑到n较大,而反质数个数较少 所以只要算出每个反质数即可 考虑如何计算,可以发现,我们只需枚举计算出约数有x个的最小数,再做一下判断即可 另外约数的个数=(a1+1)( ...
- Codeforces 631E Product Sum 斜率优化
我们先把问题分成两部分, 一部分是把元素往前移, 另一部分是把元素往后移.对于一个 i 后的一个位置, 我们考虑前面哪个移到这里来最优. 我们设最优值为val, val = max(a[ j ] ...
- Codeforces 535D - Tavas and Malekas
535D - Tavas and Malekas 题目大意:给你一个模板串,给你一个 s 串的长度,告诉你 s 串中有 m 个模板串并告诉你,他们的其实位置, 问你这样的 s 串总数的多少,答案对1e ...
- 012 HDFS API 文件读写代码演示
一:准备工作 1.新建class类 2.开启HDFS服务 3.将配置文件拷贝进resources路径 方便了Configuration的读取配置. 二:读出HDFS文件系统中的文件到控制台 4.读出在 ...