我知道这个问题以前已经被问过了,但是似乎我无法让任何解决方案起作用。 我已经使用AutoLayout设置了我的按钮,但是为了使它们适合iPhone 4,我需要将它们缩短。
我尝试了以下代码,分别在viewDidLoad、viewDidAppear和viewDidLayoutSubviews中尝试(只要它能工作,我不在乎它放在哪里)
for button in choiceButtons! {
if smallScreen {
button.frame = CGRect(x: button.frame.origin.x, y: button.frame.origin.y, width: button.frame.width, height: 15)
println("small")
} else {
button.frame = CGRect(x: button.frame.origin.x, y: button.frame.origin.y, width: button.frame.width, height: 55)
button.frame.size.height = 55 //second attempt (what I'd really like to work)
print("big")
}
}
打印语句正在正确执行,所以我知道它有效。我已经为所有四个按钮勾选了“在构建时删除占位符”选项。我尝试完全从AutoLayout中删除按钮的高度约束(这是无关紧要的,我只是想让XCode不再警告)。如果没有其他选择,完全通过编程创建所有四个按钮似乎很繁琐但可行,但我觉得我正在尝试做的事情不应该太难。值得一提的是,如果将完全相同的代码应用于图像,则可以正常工作。只是我的按钮不行。 如何使用Swift更改按钮的高度? 无法通过编程更改UIButton的框架。?
@IBOutlet var heightConstraintsForChoiceButtons: Array<NSLayoutConstraint>!
或者@IBOutlet var heightConstraintsForChoiceButtons: [NSLayoutConstraint]!
- Jeffery Thomas