ios中的视图调试(ios8苹果引入了强大的新技术,不可不看)
来源:互联网 发布:php面向对象编程 pdf 编辑:程序博客网 时间:2024/04/30 10:13
用xcode启动app,然后点击xcode暂停运行按钮,然后在调试控制台输入下面语句:
po [[UIWindow keyWindow] recursiveDescription]
然后就可以看到完整的UI结构和层级关系,类似如下:
<UIWindow: 0x7b691cd0; frame = (0 0; 320 480); gestureRecognizers = <NSArray: 0x7b6921f0>; layer = <UIWindowLayer: 0x7b691e00>>
| <UIView: 0x7c078b30; frame = (0 0; 320 480); autoresize = W+H; autoresizesSubviews = NO; layer = <CALayer: 0x7c078440>>
| | <UIView: 0x7c078ca0; frame = (10 87; 145 145); autoresize = RM+BM; autoresizesSubviews = NO; layer = <CALayer: 0x7c0786e0>>
| | <UIView: 0x7c078f20; frame = (165 87; 145 145); autoresize = RM+BM; autoresizesSubviews = NO; layer = <CALayer: 0x7c078630>>
| | <_UILayoutGuide: 0x7c079130; frame = (0 0; 0 20); hidden = YES; layer = <CALayer: 0x7c0792d0>>
| | <_UILayoutGuide: 0x7c079710; frame = (0 480; 0 0); hidden = YES; layer = <CALayer: 0x7c079790>>
po [self.view recursiveDescription]可以看到当前view下的ui结构,示例如下:
<UIView: 0x7ca8ceb0; frame = (0 0; 600 600); autoresize = RM+BM; autoresizesSubviews = NO; layer = <CALayer: 0x7ca8cb30>>
| <UIView: 0x7ca73890; frame = (10 87; 285 285); autoresize = RM+BM; autoresizesSubviews = NO; layer = <CALayer: 0x7ca89200>>
| <UIView: 0x7ca7f520; frame = (305 87; 285 285); autoresize = RM+BM; autoresizesSubviews = NO; layer = <CALayer: 0x7ca7ce70>>
| <_UILayoutGuide: 0x7ca8bd30; frame = (0 0; 0 0); hidden = YES; layer = <CALayer: 0x7ca814d0>>
| <_UILayoutGuide: 0x7ca93b20; frame = (0 0; 0 0); hidden = YES; layer = <CALayer: 0x7ca8d530>>
另外reveal等工具也可以实现可视化分析ui的功能,该工具收费(有30天的免费试用期)。
在ios8/xcode6以后,苹果引入了新的技术手段支持我们进行实时ui调试;使用xcode运行app过程中,按下底部的Debug View Hierarchy 按钮,或者从菜单中选择Debug > View Debugging > Capture View Hierarchy 来启动视图调试:
- ios中的视图调试(ios8苹果引入了强大的新技术,不可不看)
- (图)不可不看的Winter games.
- 不看后悔的:iOS开发系列--视图切换(1)
- 不看后悔的:iOS开发系列--视图切换(2)
- 不看后悔的:iOS开发系列--视图切换(3)
- 不看后悔的:iOS开发系列--视图切换(4)
- 不看后悔的:iOS开发系列--视图切换(5)
- 不看后悔的:iOS开发系列--视图切换(5)
- 谈恋爱不可不看的英语
- 谈恋爱不可不看的英语
- 学习IDL不可不看的
- iOS8 AlertView 改变 引入了UIAlertController
- 非常强大的人工栈模板,不看白不看!!!!
- 收集的很强大的iOS开发集合 不看后悔死
- 中国人误传了数千年的七句话(不可不看!) 转帖
- 男生不可不看的女生心里话,不看永远遗憾
- ios8---苹果的新时代
- 不可不看的人生十二个经典领悟
- NGUI系列教程三
- 分享三个photoshop小脚本(JavaScript)
- Swap Nodes in Pairs -- leetcode
- Objective-C打印BOOL型变量
- poj 1321 棋盘问题(回溯)
- ios中的视图调试(ios8苹果引入了强大的新技术,不可不看)
- 爸爸妈妈,我想你们了
- java中struts2中配置struts.xml的package
- 8.3(2)多分支函数求值(switch语句)
- 有趣的指针
- Swift-结构体
- C++ 动态数据结构(三)
- ios - run loop (timer)
- 黑马程序员,Java基础知识九:GUI图形用户界面