我设置文本颜色UIButton
UIButton的标题文本颜色
headingButton.titleLabel.textColor = [UIColor colorWithRed:36/255.0
green:71/255.0
blue:113/255.0
alpha:1.0];
它不改变颜色相同的代码,我使用的是在它的工作的另一个代码。
我设置文本颜色UIButton
UIButton的标题文本颜色
headingButton.titleLabel.textColor = [UIColor colorWithRed:36/255.0
green:71/255.0
blue:113/255.0
alpha:1.0];
它不改变颜色相同的代码,我使用的是在它的工作的另一个代码。
使用
目标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)
这个工程。但原始问题中的代码也经常起作用。任何人都知道为什么标题只是有时无法回答问题中的代码? – crgt
原因是当单击按钮或以其他方式更改状态时,按钮中的代码将重置titleLabel的属性以匹配按钮对该状态的内部设置。 – psycotica0
苹果的文档声明如下:“不要使用标签对象来设置文本颜色或阴影颜色,而是使用该类的setTitleColor:forState:和setTitleShadowColor:forState:方法来进行这些更改。“虽然没有真正解释”为什么“ – clauswey
我创建的自定义类myButton的从UIButton
延长。然后Identity Inspector
里面添加了这个:
在此之后,按钮类型更改为定制:
然后你可以设置属性,如textColor
和UIFont
您UIButton
为不同的状态:
然后,我还创建了内部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
正常,亮点并选择UIControlState
,因为根据UIControlState
的文档,一次可以有多个状态。 如果您不创建这些方法,UIButton
将显示选择或突出显示,但它们不会保留在您在UIInterface Builder
内部设置的UIColor
,因为它们仅用于显示选择的简短显示,而不用于显示选择本身。
在斯威夫特:
更改标签文本颜色是不是改变它的UIButton
有很大不同。要更改文本颜色为UIButton
使用这种方法:
self.headingButton.setTitleColor(UIColor(red: 107.0/255.0, green: 199.0/255.0, blue: 217.0/255.0), forState: UIControlState.Normal)
的
可能重复[?我怎样才能改变UIButton的标题颜色(http://stackoverflow.com/questions/2474289/how-can-i-改变 - uibutton-标题颜色) – silentBeep