iOS UI调试_UIDebuggingInformationOverlay

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 控制器集合

这里的控制器集合和上面的视图集合差不多
提供的信息也挺详细的




iOS UI调试_UIDebuggingInformationOverlay_第1张图片

Ivar Explorer 变量

这里我们可以看到UIApplication的所有变量
感觉实际用处不是很大,变量过多也没有筛选功能,而且...有时滑滑还会Crash掉

iOS UI调试_UIDebuggingInformationOverlay_第2张图片

Measure 测量

挺实用的功能
有几种模式可以选择
使用方法:
手指长按屏幕移动,调试窗口中有个红色小方块对应的就是当前你按压的点

水平测量

  • 不开启ViewMode

以你按压的点的位置水平方向,最近的两个可见的轮廓边缘最近距离,无视控件



通过下面这张图可以明显的感觉到这个测量是根据轮廓来的...居然测了我老婆头发边缘到左边的距离


  • 开启ViewMode
    开启ViewMode后测量的就是按压所在控件的尺寸了

垂直测量

具体和水平测量差不多我就不多赘述了

  • 不开启ViewMode
  • 开启ViewMode

Spec Compare 效果对比

这个功能在对比UI效果还原度上真乃神器也~
首先把UI妹纸给你的UI图发到手机上
在需要对比的页面上双击状态栏唤起调试工具
点击 Spec Compare 进入下面的页面
点击右上 Add 从手机相册导入UI图


点击导入的UI图即可进入对比模式
调试工具会将导入的UI图覆盖在当前页面上
通过单指上下滑动即可调整透明度,从而进行UI还原度的对比,效果如下

双击屏幕即可退出对比模式

System Color Audit

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

你可能感兴趣的:(iOS UI调试_UIDebuggingInformationOverlay)