设置框架时为什么不能改变按钮高度?

时间:2016-03-05 14:21:55

标签: ios swift

我正在使用按钮测试示例项目。我写这个,但它不能改变按钮的高度 怎么了?

class ViewController: UIViewController {

@IBOutlet var test: UIButton!

override func loadView() {
    super.loadView()

    var newFrame = test.frame
    newFrame.size = CGSizeMake(newFrame.width, newFrame.height * 10)
    test.frame = newFrame
}

}

并获得我设定的相同高度。

1 个答案:

答案 0 :(得分:2)

将您的代码放入

viewDidLayoutSubviews

打电话给超级。从理论上讲,您需要在修改框架之前等待自动布局引擎完成,否则将为您设置。在这种情况下,这可能就像在didLoad上发生的那样,autolayout可能还没有完成。

不设置框架,而是设置按钮的约束。这样你就可以完全控制。特别是当您将其他控件与按钮一起布局时。让您的生活更轻松。大多。

供您参考,查看有关自动布局和自适应ui的wwdc会话。

希望这会有所帮助。