Ios 单击按钮时保持文本颜色

Ios 单击按钮时保持文本颜色,ios,uibutton,Ios,Uibutton,我有3个system类型的按钮。每个按钮都有一种颜色:红、绿、蓝 所有按钮都属于自定义类 在该类中,我有以下方法: - (void)setHighlighted:(BOOL)highlighted { [super setHighlighted:highlighted]; self.backgroundColor = highlighted ? darkColor : normalColor; } 运行此操作时,按钮将从正常颜色更改为深色。到目前为止还不错,但是当按钮高亮显示时,文

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

所有按钮都属于自定义类

在该类中,我有以下方法:

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

  self.backgroundColor = highlighted ? darkColor : normalColor;

}
运行此操作时,按钮将从正常颜色更改为深色。到目前为止还不错,但是当按钮高亮显示时,文本颜色从白色(正常颜色)变为灰色

因为我已经在做一个戏剧性的颜色改变,我不希望文本从白色改变

我尝试修改awakeFromNib,将文本设置为正常/高光两种状态下的白色,以强制文本保持白色,而不进行更改。按钮。亮显上的反转处于关闭状态,显示“触摸亮显”处于关闭状态

我该怎么做



注意:xcode的缺陷太大,为高亮状态设置颜色对白色不起作用。它将“默认”保留为颜色。然后我设置了文本高亮状态的颜色,以便查看。没有变化。点击时,文本继续变为灰色。

您还应更改
ui按钮
标题颜色
,与
背景颜色
相同


它对我有用,试试这个,不然就自由了。

使用
-setTitleColor:forState:

:


你们可以从故事板设置,选择按钮,选择状态和改变色彩你们试过了吗?Xcode是如此的有缺陷,以至于无法工作。尝试为其他状态设置颜色。它将保持“默认”。它不会凝固。我使用的是avenir字体。按钮中的文本类型是什么?如果它是属性文本,那么它将不起作用。您需要设置属性文本。我也这样做了。也不管用。我想我可能在项目中遇到了问题,我检查了一下,我是通过在按钮上使用淡色来完成的。当我有空的时候,我试着这样做,如果我得到了什么,我会告诉你。对不起,我也不为tint工作。无论如何,谢谢你。我添加了更多信息。
[button setTitleColor:[UIColor whiteColor] forState:UIControlStateHighlighted]