何时为使用自动调整掩码创建的视图创建约束?

时间:2014-07-24 04:19:49

标签: ios nslayoutconstraint autoresizingmask

对于使用自动调整掩码创建的自定义UIViews,并将设置为“是”的“自动调整”设置为“是”,在什么时候自动调整会成为约束?我的猜测是,当视图添加到其超级视图时会发生这种情况,但是在视图对其自己的方法的调用之间发生:

willMoveToSuperview:

didMoveToSuperview

修改

UIView.h说:

  

默认情况下,视图上的自动调整遮罩会产生完全决定视图位置的约束。您在视图上设置的任何约束都可能与自动调整约束冲突,因此您必须首先关闭此属性。 IB会为你关掉它。

我在钩子之前和之后添加了记录,并且令人惊讶地显示:

SpringsNStruts[1195:60b] willMoveToSuperview
SpringsNStruts[1195:60b] self.constraints         (
)
SpringsNStruts[1195:60b] newSuperview.constraints (
    "<NSLayoutConstraint:0x8cdbd50 V:[UIView:0x8cdba70(140)]>"
)
SpringsNStruts[1195:60b] didMoveToSuperview
SpringsNStruts[1195:60b] self.constraints         (
)
SpringsNStruts[1195:60b] superview.constraints (
    "<NSLayoutConstraint:0x8cdbd50 V:[UIView:0x8cdba70(140)]>"
)

这不直观。那么从autoresizing mask转换为约束应该创建的约束在哪里呢?我还没有找到任何解释这里发生的事情的文档。有人知道吗?

0 个答案:

没有答案