单击按钮时保持文本颜色

时间:2016-06-03 02:50:31

标签: ios uibutton

我有3个system类型的按钮。每个按钮都有一个颜色:红色,绿色,蓝色。

所有按钮都属于自定义类。

在这个班级里面我有这个方法:

- (void)setHighlighted:(BOOL)highlighted {
  [super setHighlighted:highlighted];

  self.backgroundColor = highlighted ? darkColor : normalColor;

}

当此按钮运行时,按钮会从其正常颜色变为深色。到目前为止一切都很好,但是当按钮突出显示时,文本颜色从白色(正常颜色)变为灰色。

因为我的颜色已经发生了戏剧性的变化,所以我不希望文字从白色变化。

我试图修改awakeFromNib,将文本设置为白色,以保持正常/高亮状态,强制文本保持白色,不做任何更改。纽扣。突出显示的反转已关闭,显示突出显示的触摸已关闭。

我该怎么做?

注意:xcode非常错误,因此设置高亮状态的颜色不适用于白色。它保持"默认"作为颜色。然后我设置文本高亮状态的颜色只是为了看。没变。点击时文本会继续变为灰色。

2 个答案:

答案 0 :(得分:2)

使用-setTitleColor:forState:

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIButton_Class/#//apple_ref/occ/instm/UIButton/setTitleColor:forState

[button setTitleColor:[UIColor whiteColor] forState:UIControlStateHighlighted]

答案 1 :(得分:0)

您还应更改UIButton title color,与BackGroundColor相同。

它适合我,试试这个或免费。