Swift:更新视图约束不可见

时间:2015-07-12 21:29:55

标签: ios swift uiscrollview

我有一个UIScrollView,其中包含几个UIViewController。 对于我使用AutoLayout的UIViewController内的元素。 现在,如果当前设备是iPhone 4,我想更改视图约束的常量。 因此,我覆盖了updateViewConstraints()

UIViewControllers
override func updateViewConstraints() {

    if (self.view.frame.height == 480) {

        self.imageMarginLeft.constant = 40
        self.imageMarginRight.constant = 40
        self.textMarginTop.constant = 10

        println("updateViewConstraint \(self.imageMarginRight.constant)")
    }

    super.updateViewConstraints()
} 

但即使println记录了正确的新常量,也无法看到更新。 在实施中我需要改变什么?

1 个答案:

答案 0 :(得分:3)

正如here所解释的那样,我必须在更改视图contstraint常量之前和之后集成self.view.layoutIfNeeded()