【问题标题】:Change button text vertical alignment by clicking another button通过单击另一个按钮更改按钮文本垂直对齐方式
【发布时间】:2016-05-29 07:36:44
【问题描述】:

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

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

我尝试了以下方法:

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

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

可以做到这一点,以便在我不必先点击它的情况下改变它吗?

【问题讨论】:

    标签: ios swift uibutton vertical-alignment


    【解决方案1】:

    您需要明确告诉按钮在更改内容对齐方式后重新布局其子视图:

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

    【讨论】:

    • 遗憾的是,这并不能解决问题,直到我点击 buttonA 后仍无法对齐内容
    • 嗯。对不起:/也许试试setNeedsLayout
    • 完美!做到了!谢谢老哥!
    猜你喜欢
    • 2013-03-07
    • 1970-01-01
    • 2013-10-21
    • 2020-07-23
    • 1970-01-01
    • 1970-01-01
    • 2016-07-26
    • 1970-01-01
    • 2016-01-29
    相关资源
    最近更新 更多