我知道使用 UIButton,我可以添加额外的 UILabel 作为子视图:
[myButton addSubview: myLabel];
并且(至少,使用默认标题标签)我可以在点击时设置其文本颜色:
[myButton setTitleColor:someColor forState:UIControlStateHighlighted]
我的问题是,如何为添加到 UIButton 的其他 UILabel 实现此功能(如果可能的话)?
我知道使用 UIButton,我可以添加额外的 UILabel 作为子视图:
[myButton addSubview: myLabel];
并且(至少,使用默认标题标签)我可以在点击时设置其文本颜色:
[myButton setTitleColor:someColor forState:UIControlStateHighlighted]
我的问题是,如何为添加到 UIButton 的其他 UILabel 实现此功能(如果可能的话)?
子类 UIButton 并在其中添加您的附加标签作为实例变量。然后根据需要覆盖-setHighlighted
和-setSelected
调整附加标签。仅供参考-你打电话[myButton setTitleColor...]
,不是[myButton.titleLabel setTitleColor...]
在将其添加为子视图之前,您必须设置myLabel
文本颜色。
否则,您必须枚举按钮的子视图并更改每个添加标签的文本颜色。
更新:
您可以按如下方式更改按钮标题的字体:
myButton.titleLabel!.font = UIFont(name: "...", 10)
您可以按如下方式更改按钮的标题颜色:
colorsBtn.setTitleColor(UIColor.brownColor(), forState: UIControlState.Highlighted)
看来我的方式并不容易,但我意识到我可以UIButton
为 event添加一个动作UITouchDown
,并在动作中相应地更改标签。