iOS 使用interface builder 创建太复杂的constrains时容易产生crash

今天写程序,遇到了crash,在界面初始化时不会有,想切换到别的tab页就报错了。主要内容如下:

Cannot find an outgoing row head for incoming head UIImageView:0x156caec0.Width{id: 103}, which should never happen.

查了一晚上也没有查出真正原因,最后从xib中删除了2个view,系统正常了。我想,大概使用了过多的不确定constraint,这些constraint对于人脑来说是可以理解的,但是对于机器来说不确定性比较多,当系统要求快速反应时,可能就会产生问题。这种bug只能用排除法一点点试验了。也许这还是xcode的bug呢。。。

另外,说一个关于建立constraint的问题。

下面的button的位置是固定的,我想利用button的位置计算出Label的下边位置,于是我选中label,如图添加了constraint,但是添加后的效果下图:

创建的constraint等式是反的,但是这里仅仅是创建一个关系,所以是没问题的!不要以为这里出错了。

原文地址:https://www.cnblogs.com/breezemist/p/3741700.html