我有一个观点&它的约束如下。
现在,当我按照以下方式更改为constaint时:
[cell addConstraint:[NSLayoutConstraint constraintWithItem:cell.view_label
attribute:NSLayoutAttributeLeading relatedBy:NSLayoutRelationEqual
toItem:cell.view_label.superview
attribute:NSLayoutAttributeLeading multiplier:1.0 constant:60]];
[UIView animateWithDuration:0.2 animations:^{
[cell.view_label updateConstraints];
[cell.view_label.superview updateConstraints];
}];
//无效
Wraning:
试试这个:(1)看看每个约束并试着弄清楚你是哪个 不要指望; (2)找到添加了不需要的约束的代码或 约束并修复它。 (注意:如果你看到了 您不理解的NSAutoresizingMaskLayoutConstraints,请参阅 到UIView属性的文档 translatesAutoresizingMaskIntoConstraints)( “” “”)
将尝试通过违反约束来恢复
中断objc_exception_throw以在调试器中捕获它。该 UIView上的UIConstraintBasedLayoutDebugging类中的方法 列出来也可能有帮助。
帮我解决这个问题
提前致谢
答案 0 :(得分:2)
您在那里添加新约束。旧约束仍然存在,它不能满足两者,因此警告。
您需要修改现有约束的constant
属性。这样做的最好方法是为它做出一个出路。
答案 1 :(得分:1)
试试这个,
由于您已经在IB中有约束,因此请在代码中更新该约束。您不需要为同一目的添加约束。将IBOutlet
连接到该约束并在代码中修改其constant
值。