单击另一个按钮更改按钮文本垂直对齐

时间:2016-02-17 14:27:26

标签: ios swift uibutton vertical-alignment

我有两个按钮,我们称之为buttonA和buttonB。

我想要实现的是当我点击buttonB时,我想要buttonA和buttonB来改变它们内部文本的垂直对齐方式。

我尝试了以下内容:

func changeAllign() {
     buttonA.contentVerticalAlignment = UIControlContentVerticalAlignment.Top
     buttonB.contentVerticalAlignment = UIControlContentVerticalAlignment.Bottom
}

由于某种原因,这不起作用。当我点击buttonB时,它会将文本对齐到底部,但buttonA将保持不变。然后,如果我按住/或单击按钮A,文本将对齐到顶部。

这可以做到这样改变而不必先点击它吗?

1 个答案:

答案 0 :(得分:0)

更改内容对齐后,您需要明确告知按钮重新布局子视图:

func changeAllign() {
     buttonA.contentVerticalAlignment = UIControlContentVerticalAlignment.Top
     buttonA.setNeedsLayout()
     buttonB.contentVerticalAlignment = UIControlContentVerticalAlignment.Bottom
     buttonB.setNeedsLayout()
}