UI调试_UIDebuggingInformationOverlay
我的原博:http://ryukiesama.github.io/Ryukie.GitHub.io/2017/05/31/UI调试-UIDebuggingInformationOverlay/
最近看到一篇关于使用Apple私有API进行UI调试的文章(http://ryanipete.com/blog/ios/swift/objective-c/uidebugginginformationoverlay/)
在这里简单说下怎么使用
话说这玩意儿本身不是很稳定,有时在调试窗口中就会崩溃...
使用方法
直接上代码吧
由于使用的是Apple的私有API所以只能通过下面的方式来调用
写在AppDelegate里即可
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
[NSClassFromString(@"UIDebuggingInformationOverlay") performSelector:NSSelectorFromString(@"prepareDebuggingOverlay")];
return YES;
}
注意:
只能在开发调试阶段使用上架之前一定要干掉不然会被拒掉的哦
调起调试窗口
在任意页面使用双指 单击状态栏即可调起调试窗口
通过按住调试窗口的顶部可以拖动调整调试窗口的位置
也可以通过左上角按钮进行全屏和窗口模式的切换
如图效果:
下面来看看都有哪些功能吧
View Hierarchy 视图集合
这里会显示当前Window
下的视图集合,层级关系页十分清晰,点击后面的i
图标还可查看对应View的详细信息
你还可以在不同Window
间切换查看
VC Hierarchy 控制器集合
这里的控制器集合和上面的视图集合差不多
提供的信息也挺详细的
Ivar Explorer 变量
这里我们可以看到UIApplication
的所有变量
感觉实际用处不是很大,变量过多也没有筛选功能,而且...有时滑滑还会Crash掉😂
Measure 测量
挺实用的功能
有几种模式可以选择
使用方法:
手指长按屏幕移动,调试窗口中有个红色小方块对应的就是当前你按压的点
水平测量
- 不开启
ViewMode
以你按压的点的位置水平方向,最近的两个可见的轮廓边缘最近距离,无视控件
通过下面这张图可以明显的感觉到这个测量是根据轮廓来的...居然测了我老婆头发边缘到左边的距离
- 开启
ViewMode
开启ViewMode
后测量的就是按压所在控件的尺寸了
垂直测量
具体和水平测量差不多我就不多赘述了
- 不开启
ViewMode
- 开启
ViewMode
Spec Compare 效果对比
这个功能在对比UI效果还原度上真乃神器也~
首先把UI妹纸给你的UI图发到手机上
在需要对比的页面上双击状态栏唤起调试工具
点击 Spec Compare
进入下面的页面
点击右上 Add
从手机相册导入UI图
点击导入的UI图即可进入对比模式
调试工具会将导入的UI图覆盖在当前页面上
通过单指上下滑动即可调整透明度,从而进行UI还原度的对比,效果如下
双击屏幕即可退出对比模式
System Color Audit
还没发现有啥用...点进去啥都木有来着
待发掘