UIButton标题文字颜色

我为UIButton设置文字颜色

 headingButton.titleLabel.textColor = [UIColor colorWithRed:36/255.0 green:71/255.0 blue:113/255.0 alpha:1.0]; 

这是不改变颜色相同的代码,我正在使用另一个代码工作。

使用

Objective-C的

 [headingButton setTitleColor:[UIColor colorWithRed:36/255.0 green:71/255.0 blue:113/255.0 alpha:1.0] forState:UIControlStateNormal]; 

迅速

 headingButton.setTitleColor(.black, for: .normal) 

我创build了一个从UIButton扩展的自定义类MyButton 。 然后将其添加到Identity Inspector

在这里输入图像说明

之后,将buttontypes更改为自定义

在这里输入图像说明

然后你可以为你的UIButton为不同的状态设置像textColorUIFont这样的属性:

在这里输入图像说明

然后,我还创build了MyButton类中的两个方法,当我要将UIButton显示为高亮显示时,我必须在代码中调用该方法:

 - (void)changeColorAsUnselection{ [self setTitleColor:[UIColor colorFromHexString:acColorGreyDark] forState:UIControlStateNormal & UIControlStateSelected & UIControlStateHighlighted]; } - (void)changeColorAsSelection{ [self setTitleColor:[UIColor colorFromHexString:acColorYellow] forState:UIControlStateNormal & UIControlStateHighlighted & UIControlStateSelected]; } 

您必须将titleColor设置为normal,突出显示并selectUIControlState因为根据UIControlState的文档,一次可以有多个状态。 如果你不创build这些方法, UIButton会显示select或突出显示,但是它们不会停留在你在UIInterface Builder里面设置的UIColor ,因为它们只能用于select的简短显示,而不能用于显示select本身。

在Swift中:

改变标签的文字颜色与改变UIButton颜色是完全不同的。 要更改UIButton的文本颜色,请使用以下方法:

 self.headingButton.setTitleColor(UIColor(red: 107.0/255.0, green: 199.0/255.0, blue: 217.0/255.0), forState: UIControlState.Normal) 
Interesting Posts