前言
工作中,领导想看看没有真机情况下,模拟器对应的UI层级
关系,每层的显示情况?位置前后?怎么办?
简介
DebugViewHierarchy(视图调试)
是XCode6
新出的一项功能,它可以让开发者在程序运行
时,动态的查看当前界面的显示情况,包括视图的层次
,控件的大小
和位置
,而且会以3D
效果显示当前视图的层次。下面就一起来看一下如何进行视图调试吧。
我把图中分为
5个区域
分别作出讲解,如图1
所示:
①区域.
第一个区域左右滑动可以调整视图层级之间的距离
②区域.
第二个区域的三个按钮分别是现实省略隐藏的内容、显示依赖关系、第三个里边有三个选项分别是显示视图里边内容、显示视图的线框轮廓、以及显示视图的线框轮廓和视图中内容。
③区域.
第三个区域是显示视图层级的大小
④区域.
第四个区域或者拖动视图,可以随意旋转
⑤区域.
第五个区域是视图2D视角和3D视角的相互切换,上图是3D模式视角的显示。
⑥区域
视图局部显示+隐藏
案例讲解
为了简单起见,这里我使用代码建立一个工程demo下载,运行如图2
所示:
-
步骤:
-
运行demo
【command+R】
-
调试窗口的
DebugViewHierarchy
按钮 -
拖动
鼠标,可以切换不同的3D
视角。 -
3D效果图:
- 在左侧的调试导航栏中,选择
View UI Hierarchy
,可以看到整个界面的视图层次
列表: - 左侧
代码
看右侧UI
- 右侧
UI
看左侧代码
- 在左侧的调试导航栏中,选择
-
3D视图的下面还有一排操作的按钮和进度条,可以调节3D视图的
大小
,显示层次
,间隔
等,如图4所示
-
-
注意:
-
这里使用的时模拟器,因为只有在
模拟器
的情况下才能使用DebugViewHierarchy
功能。 -
有关demo
界面逻辑分析
,如图6所示 -
若下载的
demo
出现lldb
崩溃情况,请点击强制运行
按钮如图5
所示
总结
有了DebugViewHierarchy
功能,我们就可以很直观地``检验我的
UI布局,查看各个视图的
属性,确实能够带来很大的方便性。 其实,iOS6出来之前,就已经出现了许多第三方的界面调试工具,例如大名鼎鼎的
Reveal`,它不但可以查看UI布局,还可以实时修改,这样就不用每次都重新编译运行,但它是收费的(可以免费使用30天),59美元对我等刚入行的码农来说确实有点贵。不过对于一般的界面调试,使用XCode自带的DebugViewHierarchy已经足够了,使用mbp重新编译运行也不会太慢。
参考链接
XCode中的Debug View Hierarchy功能
芒果iOS开发bug调试技巧之Debug View Hierarchy
网友评论