2016-09-16 91 views
4

的锚更新到iOS的10即时得到这个错误在我的应用程序之一一堆后iOS的10:NSInvalidLayoutConstraintException:约束不当涉及不兼容的类型

NSInvalidLayoutConstraintException:约束不当涉及不兼容类型的 锚:

<NSLayoutConstraint:0x170495270 UIView:0x1010e1d90.top == AppName.OtherView:0x1010dc6f0.centerX (active)> 

我从来没有使用过这样的约束的问题,我只在我的iOS 10设备上得到它。有任何想法吗?

+0

约束中的两个锚是什么? – Paulw11

+0

这里同样的问题。你有没有发现问题? – netshark1000

回答

10

您也许正在做这样的事情:

NSLayoutConstraint(item: viewA, attribute: 
       .leading , relatedBy: .equal, toItem: parentView, attribute: .top, multiplier: 1.0, constant: 20) 

所以,你不缝合正确的锚在一起,就像.leading.top。在这种情况下,它必须是.leading.leading

有趣的是,这不是iOS9的问题。

+0

这完全是问题。我有一个Top - CenterX而不是Top - .CenterY。我不明白,为什么这开始崩溃在iOS 10上?它应该已经在iOS 9上崩溃了,苹果是否警告任何人这种改变将会是iOS 10发布时的突破性改变?是否有一个列表,在哪里苹果发布重大更改,您需要在操作系统发布之前进行更新?我在布局方面升级到iOS 10时看到了一大批应用程序。 – Unome