这个断点可以帮你检查布局约束
2017-03-01 17:14
351 查看
前言:
在现在iOS布局中,估计有很多很多开发者会使用到Masonry或者用到SDAutoLayout或者Storyboard或者还有Xib等等,前面两个三方的确是方便了我们的布局,但你写完之后难免可能布局约束支架会有一些冲突或者会有约束警告的出现,比如那个约束要突破那个约束的警告等等。在这里就分享一下写完布局之后自己对布局约束的算是一种检查方法吧。
大家应该听过UIViewAlertForUnsatisfiableConstraints这个断点,这个在你写约束出现警告的时候Xcode自己会打印出来,不如下面的图片当中画了红线的这句MakeasymbolicbreakpointatUIViewAlertForUnsatisfiableConstraintstocatchthisinthedebugger,Xcode让你打UIViewAlertForUnsatisfiableConstraints断点调试:
那这个断点到底该怎么用?
下面的就是一些自己使用这个断点的一些方法,说不上多么高大上,但自己觉得还是挺实用的,其实在我刚约到这个断点的时候,也是一脸的懵逼,加进去了这个断点,但就是不知道怎么用,感觉似乎没什么用,但其实是我们不会用...
直到在Stackoverflow看到了这个HowtotraponUIViewAlertForUnsatisfiableConstraints?答案,才感觉知道怎么用了!
IaddedUIViewAlertForUnsatisfiableConstraintssymbolicbreakpointwithsuggestedaction:
Obj-Cproject
po[[UIWindowkeyWindow]_autolayoutTrace]
Swiftproject
expr-lobjc++-O--[[UIWindowkeyWindow]_autolayoutTrace]
嗯嗯,答案就是这样,在仔细分享一下自己的用法:首先你就按这样,我的是OC项目,你就加这样的断点:
接下来看看我这边的打印和问题,为了看到一个完整的打印,这里的图片是拼起来的:
通过上面的这些打印,这个完整的界面结构和地址也就全都打印出来了,接下来你在仔细看看下面的这张约束问题打印图上面是有约束有问题控件的地址的而上面的界面层级打印中每一个控件的地址也是打印出来的:
看到这个界面约束有问题控件的地址,你能做的就是全局搜索,找到这个控件:比如下面的,我们来找0x14d65fdb0这个地址的控件,在打印这个全局搜索,就找到了这个:
就是上图中的这个Label,然后你通过上面打印出来的层级和这个Label的赋值,你给这个Label赋的text是一个很好的帮助,你就可以精确的找到是哪一个控件的约束有问题:通过这样我找到这个控件,检查它的约束:
的确是就是因为自己的疏忽,就写出了这样的一个约束(大家还是认真点,不要学我(∩_∩))!通过上面的这个方法,就很好的帮我们精确的找到了写的有问题的约束了,希望对大家能有所帮助!
在现在iOS布局中,估计有很多很多开发者会使用到
大家应该听过UIViewAlertForUnsatisfiableConstraints这个断点,这个在你写约束出现警告的时候Xcode自己会打印出来,不如下面的图片当中画了红线的这句MakeasymbolicbreakpointatUIViewAlertForUnsatisfiableConstraintstocatchthisinthedebugger,Xcode让你打UIViewAlertForUnsatisfiableConstraints断点调试:
那这个断点到底该怎么用?
下面的就是一些自己使用这个断点的一些方法,说不上多么高大上,但自己觉得还是挺实用的,其实在我刚约到这个断点的时候,也是一脸的懵逼,加进去了这个断点,但就是不知道怎么用,感觉似乎没什么用,但其实是我们不会用...
直到在Stackoverflow看到了这个
嗯嗯,答案就是这样,在仔细分享一下自己的用法:首先你就按这样,我的是OC项目,你就加这样的断点:
接下来看看我这边的打印和问题,为了看到一个完整的打印,这里的图片是拼起来的:
通过上面的这些打印,这个完整的界面结构和地址也就全都打印出来了,接下来你在仔细看看下面的这张约束问题打印图上面是有约束有问题控件的地址的而上面的界面层级打印中每一个控件的地址也是打印出来的:
看到这个界面约束有问题控件的地址,你能做的就是全局搜索,找到这个控件:比如下面的,我们来找0x14d65fdb0这个地址的控件,在打印这个全局搜索,就找到了这个:
就是上图中的这个Label,然后你通过上面打印出来的层级和这个Label的赋值,你给这个Label赋的text是一个很好的帮助,你就可以精确的找到是哪一个控件的约束有问题:通过这样我找到这个控件,检查它的约束:
的确是就是因为自己的疏忽,就写出了这样的一个约束(大家还是认真点,不要学我(∩_∩))!通过上面的这个方法,就很好的帮我们精确的找到了写的有问题的约束了,希望对大家能有所帮助!
相关文章推荐
- XHTML 的一个实例, 其实这个实例的方法已经可以实现所有要实现的布局. by Emerald 绿色学院 - Green Institute
- Android Studio 的.9图编译失败,可以用这个来忽略检查。
- XHTML 的一个实例, 其实这个实例的方法已经可以实现所有要实现的布局. by Emerald 绿色学院 - Green Institute
- 导入数据的时候不确定,是否有外键约束,可以通过设置使系统在commit是在做检查。
- 无法打开此修补程序包,请确认该修补程序包存在并且可以访问它以检查这个修补程序包是有效的
- 貌似用这个可以把很多语言转为 javascript
- 学了面向对象,写了一个数据库类,以后就可以傻瓜化调用这个数据库了。
- 关于自动布局更新约束方法的总结
- 度度熊有一张网格纸,但是纸上有一些点过的点,每个点都在网格点上,若把网格看成一个坐标轴平行于网格线的坐标系的话,每个点可以用一对整数x,y来表示。度度熊必须沿着网格线画一个正方形,使所有点在正方形的内部或者边界。然后把这个正方形剪下来。问剪掉正方形的最小面积是多少。
- PHP检查端口是否可以被绑定
- VC++2005调试时一个函数内断点无效,而其他代码的断点可以进去
- 有一个很大的整数list,需要求这个list中所有整数的和,写一个可以充分利用多核CPU的代码,来计算结果(转)
- Android布局自定义Shap圆形ImageView,可以单独设置背景与图片
- 树莓派键盘布局的改变:乱码可以解决了。
- 漫长暑假 有么有一起组团打怪的?这个大赛可以拿10万奖金呢
- masonry 约束布局
- Android Studio如何把约束布局(ConstraintLayout)改为相对布局(RelativeLayout)
- ffmpeg编译x264, 这个libffmpeg即可解码又可以h264编码
- Java实现多线程断点下载实例代码(下载过程中可以暂停)
- 【codeforces 727 C】【交互题 求原数组】【告诉你有一个长度为n序列,你可以问n个问题,每个问题为ai+aj等于多少,最后输出这个序列】