通过单击另一个按钮更改按钮文本垂直对齐方式
Change button text vertical alignment by clicking another button
我有两个按钮,我们称它们为 buttonA 和 buttonB。
我想要实现的是,当我单击按钮 B 时,我希望按钮 A 和按钮 B 都更改其中文本的垂直对齐方式。
我试过以下方法:
func changeAllign() {
buttonA.contentVerticalAlignment = UIControlContentVerticalAlignment.Top
buttonB.contentVerticalAlignment = UIControlContentVerticalAlignment.Bottom
}
由于某些原因,这不起作用。当我单击 buttonB 时,它会将其文本对齐到底部,但 buttonA 将保持不变。然后,如果我 hold/or 单击按钮 A,文本将对齐到顶部。
是否可以做到无需我先点击它就可以改变它?
您需要明确告诉按钮在更改内容对齐方式后重新布局其子视图:
func changeAllign() {
buttonA.contentVerticalAlignment = UIControlContentVerticalAlignment.Top
buttonA.setNeedsLayout()
buttonB.contentVerticalAlignment = UIControlContentVerticalAlignment.Bottom
buttonB.setNeedsLayout()
}
我有两个按钮,我们称它们为 buttonA 和 buttonB。
我想要实现的是,当我单击按钮 B 时,我希望按钮 A 和按钮 B 都更改其中文本的垂直对齐方式。
我试过以下方法:
func changeAllign() {
buttonA.contentVerticalAlignment = UIControlContentVerticalAlignment.Top
buttonB.contentVerticalAlignment = UIControlContentVerticalAlignment.Bottom
}
由于某些原因,这不起作用。当我单击 buttonB 时,它会将其文本对齐到底部,但 buttonA 将保持不变。然后,如果我 hold/or 单击按钮 A,文本将对齐到顶部。
是否可以做到无需我先点击它就可以改变它?
您需要明确告诉按钮在更改内容对齐方式后重新布局其子视图:
func changeAllign() {
buttonA.contentVerticalAlignment = UIControlContentVerticalAlignment.Top
buttonA.setNeedsLayout()
buttonB.contentVerticalAlignment = UIControlContentVerticalAlignment.Bottom
buttonB.setNeedsLayout()
}