我正在处理的当前项目中有两个视图view1和view2。 view2是view1的子视图。我注意到如果没有为view2定义约束,当我调整view2的大小时,将调用view1的“layoutsubviews”,然后调用view2。但是,如果我在view1中向view2添加了一个约束,则调整view2的大小只会触发view2的“layoutsubviews”。
我找不到任何文件来解释这一点。这是预期的吗?为什么行为不同?
答案 0 :(得分:0)
我认为原因是:
当我们为view2设置约束时,肯定会导致view2本身约束和帧的更改,但是如果view2依赖于view1(这意味着view2没有view1的约束,并且view2没有与view1中的其他子视图的约束),在这种情况下,view2约束的更改不会导致view1的约束更改,并且肯定不会导致view1的layoutSubviews