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