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
为不同的状态设置像textColor
和UIFont
这样的属性:
然后,我还创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)