当我驳回一些我有一些限制的观点时,我得到了一个有趣的错误。
自动布局内部错误。找不到传出的行头 传入头部AppName.ViewName:0x7fc072ed8ef0.Width {id:6805}期间 应该优化具有接近零系数的变量 永远不会发生。
我在几个视图中遇到了这个错误,我添加了这些约束。此错误消息的一个变体如下:
自动布局内部错误。 在优化期间找不到传入头{id:6630}的传出行头 系数接近于零的变量,绝不应该发生。
有没有人遇到过与此错误类似的问题?有关如何调试它的任何提示?
答案 0 :(得分:3)
我仍然不能100%确定为什么会这样,但关键是如果整数作为相等宽度或高度的约束值,则约束系数会接近零。 / p>
例如,您不能执行1.2或0.8之类的平坦值,您需要执行0.79999或1.199999,否则您将在某些设备上崩溃。
我更新了所有约束以使用0.7999这样的数字并且它有效。
想要证明疯狂吗?把它放在操场上:
let a: Double = 0.8
let b: Double = 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1
print(a == b)
然后,游乐场的结果令人惊讶地读起来:
0.8 0.79999999 "假"
疯狂,但这显示了错误发生的原因。希望这会有所帮助。