UIButton使用UIControlStates的多个标签

时间:2015-05-20 01:16:47

标签: ios objective-c uibutton uicontrolstate

我知道使用UIButton,我可以添加其他UILabel作为子视图:

[myButton addSubview: myLabel];

并且(至少使用默认标题标签)我可以使用以下方式设置其文本颜色:

[myButton setTitleColor:someColor forState:UIControlStateHighlighted]

我的问题是,如何为添加到UIButton的其他UILabel实现此功能(如果可能的话)?

3 个答案:

答案 0 :(得分:2)

子类UIButton并在其中添加其他标签作为实例变量。然后覆盖-setHighlighted-setSelected以根据需要调整其他标签。 仅供参考 - 您致电[myButton setTitleColor...],而不是[myButton.titleLabel setTitleColor...]

答案 1 :(得分:1)

在将其添加为子视图之前,您必须设置myLabel的文本颜色。

否则,您必须通过按钮的子视图进行枚举,并更改每个添加的标签的文本颜色。

<强>更新

您可以按如下方式更改按钮标题的字体:

myButton.titleLabel!.font = UIFont(name: "...", 10)

您可以按如下方式更改按钮的标题颜色:

colorsBtn.setTitleColor(UIColor.brownColor(), forState: UIControlState.Highlighted)

答案 2 :(得分:1)

似乎我的方法并不容易,但我意识到我可以为事件UIButton的{​​{1}}添加操作,并在操作中相应地更改标签。