SnapKit 布局警告那些事儿

前言

写这篇文章的原因主要是因为看着布局警告不得劲儿



SnapKit作为Swift自动布局中较为优秀的三方库,大多数人都会采用,然而在使用过程中会遇到一些奇怪的打印(下文中会列举几个比较常见的),然而并不影响最终展示效果。但是看着这些无用的打印还是比较恶心的,那么如何消除这些打印呢?



1.Unable to simultaneously satisfy constraints.


Warning_1

2.Will attempt to recover by breaking constraint


Warning_2

自动布局完成之后,运行效果如期而至,一看控制台,满屏的打印,大多是以上两种

解决方案如下:

1.Warning_1 中的警告直接忽略掉,千万不要大费周章的挨个去找对应类里面的元素的布局

2.直接去找第二步中的警告所对应的元素

3.在对应元素的对应约束后边添加约束优先级(以Warnng_2中的警告为例)直接统一设置成

make.width.equalTo(1).priority(.low)

4.添加完所有的约束优先级之后运行项目,此时你会发现,控制台警告没了,舒服了。随之而来的是UI可能会出现错乱的情况,只需要非正常的UI控制优先级设置成如下即可:

make.width.equalTo(1).priority(.high)


笔者未对其他情况进行试验,若你遇到了其他情况下的问题欢迎留言!!!

你可能感兴趣的:(SnapKit 布局警告那些事儿)