Links

12.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

还没发现有啥用...点进去啥都木有来着 待发掘