ViewChaos
ViewChaos是一个动态的iOS UI调试工具,其设计目的是为了解决iOS UI代码编写和调试的困难。
ViewChaos 的特性
- 集成方便,不需要编写代码,只需将文件拖入您的项目即可,且仅在
Debug
模式下有效,Release
模式将自动禁用。 - 给
View
添加了Name
属性,这样就能知道哪个View
是由哪些代码生成的,可以更好地定位到代码。 - 添加了摇一摇功能,其中包括放大镜、UI边框显示、UI透明度和标记界面模式,可以查看整个界面布局的一些基本信息。
- 可以获取
View
的基本信息,以及它的所有的父View
和子View
的基本信息,同时还可以标记该View
的坐标位置信息。 - 可视化显示
Autolayout
。 - 可以实时追踪
View
的状态。 - 监测内存泄露。
- 可以实时修改
View
的Frame, Font,border,tintColor,background
等属性,这样就不用一次次地调试代码后编译启动APP查看,可以一次性设置后再在代码里修改。 - 可以生成代码,这个用途不大,但也可以参考。
ViewChaos的安装和使用
ViewChaos
的安装非常方便,有两种安装方式,如果您不想使用Cocoapods
,只想拖文件,请按照以下步骤操作:
- 第一步:将这七个文件
(ViewChaos.swift,ViewChaosInfo.swift,ViewNeat.swift,ZoomView.swift,DrawView.swift,MarkInfo.swift,MarkView.swift)
复制到您的项目中,或者直接将ViewChaos
文件夹复制到您的项目中。 - 第二步:选择
target
>您的项目>Build Setting
->搜索'swift compile'
->选择'Other Swift Flags'
->选择DeBug
选项,添加-DDEBUG
命令(这个命令让此工具仅在Debug模式下有效) - 第三步:如果您找不到
Other Swift Flags
选项,说明您的项目是纯Objective-c
的,那么您需要手动将一个swift
文件添加到您的项目中,此时XCode会提示您添加一个header bridge
文件,此时选择是,然后进行第二步操作。 - 第四步:开始使用。
如果您想使用Cocoapods
,则更为简单:
- 第一步:
pod 'ViewChaos'
,然后安装即可。 - 第二步:选择Pods项目>选择target>ViewChaos>
Build Setting
->搜索'swift compile'
->选择'Other Swift Flags'
->选择DeBug
选项,添加-DDEBUG
命令(这个命令让此工具仅在Debug模式下有效)。 - 第三步:开始使用。
请注意,一定要添加-DDEBUG
命令,这个功能的添加是为了让ViewChaos在Debug模式下启动,而不会在Release模式下启动。启动您的项目后,您就可以看到您的APP中多了一个V形的绿色小圆圈,同时您的APP也具备了摇一摇功能。以下我将用图片和文字为读者介绍ViewChaos的各种功能,建议读者下载Demo,在真机或模拟器上亲自尝试,以下将详细介绍这些功能。
摇一摇功能
如果将 ViewChaos
正确集成到您的 APP 中,那么就可以使用摇一摇调试功能。摇一摇功能包括四个子功能,分别是放大镜、显示边框、显示透明度和标记界面。下面逐一讲解。
放大镜模式相对简单,启动后,用手指触摸屏幕,它会将手指下的点放大显示(仅支持单点),上面绿色区域可以显示该点的坐标和颜色值。
边框模式也比较简单,进入该模式后,所有 UI 控件的边框都会用红色线条显示出来,你可以在上面做一些标记。当启用截图时,你可以画个框然后将该页面保存到相框里。
透明模式更为简单,可以直接显示页面中 UI 控件的透明情况,透明度越高的 View
红色会越深。如果没有红色表示此 View
是不透明的。
最后一个功能是新加入的,且颇具创意,即标记界面功能。启动该模式后,点击你想要标记的 View
,ViewChaos
会对此 View
的左右上下进行标记并显示出来。双击该 View
会取消标记。
以上就是摇一摇的全部功能了。请注意,这个可能和您的项目的摇一摇功能相冲突,目前尚未提供关闭功能,未来版本将提供此项功能。
View
和用表格表示显示 View
相关信息功能
最核心的抓取 接下来要讲解的是 ViewChaos
的最核心功能,这一切都要依靠这个绿色的 V 字小球来实现。
用手指触摸小球后,小球会跟随手指在屏幕上移动,同时它会抓取位于小球下的 View
的信息并显示在屏幕顶部。
点击顶部的绿色区域后,会出现一个表格,其中从下到上依次是基本信息、《SuperView》、《SubView》、约束和 View
追踪功能。《SuperView》 可以展示此 View
层级上所有的 View
,《SubView》 可以展示此 View
下的一层的所有子 View
,也可以点击它。
在这里,我还针对单个 View
做了标记功能(上面的动图比较老,没有显示标记功能),只要在这个表格里就可以启动这个功能。
对于单个 View
的标记功能,可以显示该 View
本身和它最近的 View
的标记。
如果您使用了 Autolayout
,那么该 View
的信息表里还会显示该 View
的约束数据。
此功能可以显示该 View
所有的约束(如果存在的话,也就是说,您是用 AutoLayout
来布局的,而不是 frame
布局)。点击该约束,可以用可视化的信息展示出来,相当实用。
最后是追踪 (Trace)
功能。该功能可以追踪 View
的状态,比如 frame
、tag
、center
等,当您点击开始,ViewChaos
就会监视该 View
的各种属性,如果该 View
的属性发生改变,ViewChaos
会记录下来并保存,然后在下面显示出来。
实时调整 UI 功能
后面的功能属于调整 View
的各种属性,它可以让你调整 View
,直到符合您的需求为止,然后您可以生成代码,从里面选择出您需要的代码。在表中点击 Control
,会出现一个控制器,这个控制器可以改变 View
和一些属性,从左到右依次是 位置、大小、字体、边框、颜色、代码,下面逐一讲解。
第一个功能是改变 View
的位置,相对简单。
第二个功能是改变 View
的大小,上面有两个按钮,一个是控制左上角的大小,一个是控制右下角的大小。
第三个功能是改变 View
中字体的大小,目前仅对 Button
、Label
、TextFiled
和 TextView
有效。其他的功能无效。
第四个功能是改变 View
的边框,摇杆上有三个子菜单,分别是颜色、边框和弧度,选择哪种就能控制哪种。
第五个功能是改变 View
的颜色属性,如果存在的话。分别是前景色、背景色和主题色。
最后一个功能是生成代码。在调整好所有属性后,点一下 code
就能生成下面的代码。您可以从中选择有用的部分。
- 其中部分功能说明:调整
VIew
位置和大小时,如果想让View
的变化更慢一些,那么可以修改scale
的值,5 是最快的,1 是最慢的。 - 如果您要做特别微小的调整,那么可以点击 `
Precise
` 按钮,启动精确模式,想退出再点击一次即可。 Reset(重设)
按钮会将View
回复到原来的状态。Close(关闭)
按钮将关闭控制面板。
以上差不多就是所有 ViewChaos
的功能了。在此还是建议读者亲自去下载 Demo
试用一下。ViewChaos
基本上能够满足大部分 UI 的调试,但是也有一些属性还不能看到和修改,另外还希望读者给出建议,这些都是未来的改进方向。