我正在制作一款iOS应用,目前我试图在所有iPhone上实现漂亮的外观。我希望我可以使用autolayout功能使其工作,但所有纵向模式的iPhone都具有相同的大小类。这就是为什么我决定根据屏幕尺寸更改约束常数的原因。但不知怎的,它不起作用。基本上,我有一个小键盘作为堆栈视图,它有一个高度约束。但是当我以编程方式更改其常量时,它不会改变模拟器中的任何内容。
@IBOutlet weak var keyboard: UIStackView!
//instantiating constraints
@IBOutlet weak var numpadHeight: NSLayoutConstraint!
override func viewDidLoad() {
super.viewDidLoad()
fetchSettings()
let screenHeight = UIScreen.main.bounds.size.height
if screenHeight == 568 {
print("SE")
print(numpadHeight.constant)
numpadHeight.constant = 100
} else if screenHeight == 667 {
print("7")
numpadHeight.constant = 256
} else if screenHeight == 736 {
print("7+")
}
print(numpadHeight.constant)
...}
我也试过setLayoutIfNeeded(),没有帮助