约束必须包含第一个布局项NSLayoutConstraint

mrd*_*enz 16 ios autolayout nslayoutconstraint

我的LayoutConstraints工作正常,然后突然间我在向视图添加约束时开始得到这个.

    *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** +[NSLayoutConstraint constraintWithItem:attribute:relatedBy:toItem:attribute:multiplier:constant:]: Constraint must contain a first layout item'
*** First throw call stack:
(0x7cd012 0x2017e7e 0x7ccdeb 0xde6bf1 0x9c487 0x994a3 0x414fb 0x20224 0x5c6c0 0xc30e83 0x78c376 0x78be06 0x773a82 0x772f44 0x772e1b 0x28eb7e3 0x28eb668 0x149465c 0x2cfd 0x2c25)
libc++abi.dylib: terminate called throwing an exception
Run Code Online (Sandbox Code Playgroud)

互联网或Apple Docs上没有关于错误消息含义的直接文档.

只是想知道是否有人遇到过这个错误,并知道我可以做些什么来解决它?

小智 34

此错误/崩溃的另一个原因可能是,传递给[NSLayoutContraint constraintWithItem ...]方法的视图为零.


mrd*_*enz 24

啊,发现了这个问题.对于有此问题的任何人,这是因为尚未在nib/UIView中创建视图,因此不能应用任何约束.

我将Constraint代码从initWithNib方法移动到viewDidLoad,错误自然停止发生.


smi*_*Bot 7

如果你坚持你的观点与属性确保他们是强大的!这可能是因为他们是零.