当视图包含子视图时,layoutIfNeeded不会生效

时间:2015-06-05 10:14:40

标签: ios swift uiview

在自动布局下,我通过设置center.x来更改视图的位置,然后调用layoutIfNeeded。我期望的是视图将回到之前的位置,它没有任何子视图,但没有至少一个子视图。

我做了一个简单的演示来展示问题:

@IBAction func move(sender: AnyObject) {
    singleView.center.x += 20
    viewWithSubview.center.x += 20
}

@IBAction func back(sender: AnyObject) {
    singleView.layoutIfNeeded()
    viewWithSubview.layoutIfNeeded()
}

原始场景:

调用move后:

调用back后:

我知道setNeedsLayout可以回复第二个视图,但这不是我想要的答案。我想知道为什么会发生如上所述。

0 个答案:

没有答案