[NSLayoutConstraint constraintWithItem:attribute:relatedBy:toItem:attribute:multiplier:constant:]:Constraint必须包含第一个布局项'

时间:2013-12-14 00:22:43

标签: iphone ios7 xcode5

我在viewdidload方法中添加了这段代码,将垂直空间约束添加到最顶层视图

基于苹果技术Q& A QA1797 防止状态栏覆盖您的观点

 [NSLayoutConstraint constraintWithItem:self.toolbar1
                             attribute:NSLayoutAttributeTop
                             relatedBy:NSLayoutRelationEqual
                                toItem:self.topLayoutGuide
                             attribute:NSLayoutAttributeBaseline
                            multiplier:1.0
                              constant:0.0];

但它崩溃应用并显示此错误 NSInvalidArgumentException',原因:'[NSLayoutConstraint constraintWithItem:attribute:relatedBy:toItem:attribute:multiplier:constant:]:Constraint必须包含第一个布局项'

任何线索为什么我会收到此错误以及如何解决此错误。

感谢您的帮助。

2 个答案:

答案 0 :(得分:4)

如果两个项目都为零,则会发生此错误。很可能你的第一个项目'self.toolbar1'是零。

答案 1 :(得分:1)

当您在init方法中设置UI代码时,当您的视图尚未创建时,会发生这种情况。尝试将代码移动到viewDidLoad方法,看看它是否有效。