我正在测试一个带有按钮的示例项目。我写了这个,但它不能改变按钮的高度。
怎么了?
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
}
}
并获得我设置的相同高度。
最佳答案
把你的代码放在
viewDidLayoutSubviews
调用super之后。理论上你需要等到自动布局引擎完成后再修改框架,否则它会为你设置。在这种情况下,这可能是在 didLoad 上发生的情况,自动布局可能尚未完成。
不是设置框架,而是设置按钮的约束。这样您就可以完全控制。特别是当您将其他控件与按钮一起布局时。让您的生活更轻松。大多。
为了您的引用,请查看有关自动布局和自适应用户界面的 wwdc session 。
希望这对您有所帮助。
关于ios - 为什么在设置框架时不能更改按钮高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35815233/