将多个完全相同的NSLayoutConstraints多次附加到同一个UIView时会发生什么?

时间:2016-11-26 23:05:03

标签: ios objective-c autolayout nslayoutconstraint ios-autolayout

这个问题说明了一切。会被忽略吗?或者只是多次附加相同的约束?

如果我这样做会有任何性能问题吗?

我在问,因为替代方案似乎是在所有约束条件被引用时继续引用,然后再查看它们以做出此决定。如果我不必实现所有这些逻辑,那就太好了。

2 个答案:

答案 0 :(得分:1)

是的,再次添加相同(相同的NSLayoutConstraint个对象)约束会被忽略。

enter image description here

答案 1 :(得分:0)

因为我没有尝试过它,但是如果你需要任何类型的动画会产生问题。

例如,如果您需要使用动画移动public class MyActivity extends Activity implements MyFragment.MyInterface{ @Override public void doSomething(){ //do stuff here } } ,则必须为每个相同的约束多次更改相同类型的约束,这会给代码带来痛苦。

除了这个问题之外,多个相同的约束并不会真正产生冲突,但如果您在单个ViewController中对许多视图执行此操作,则可能会导致性能问题。