UIButton自定义按钮不会在选择时更改字体颜色
Posted
技术标签:
【中文标题】UIButton自定义按钮不会在选择时更改字体颜色【英文标题】:UIButton custom button wont change font colour on select 【发布时间】:2012-09-21 20:47:38 【问题描述】:我正在使用此代码创建 UIButton,但是当按下按钮时,字体不会改变颜色。
_gameSlider = [UIButton buttonWithType:UIButtonTypeCustom];
[_gameSlider setBackgroundImage:[[UIImage imageNamed:@"sliderBackgroundSticker"] resizableImageWithCapInsets:UIEdgeInsetsMake(22, 16, 22, 16)] forState:UIControlStateNormal];
_gameSlider.frame = CGRectMake(0, 0, self.view.frame.size.width - 20, 70);
newCnt = self.view.center;
newCnt.y = newCnt.y + 120;
_gameSlider.center = newCnt;
[_gameSlider setTitle:@"PLAY" forState:UIControlStateNormal];
[_gameSlider.titleLabel setFont:[UIFont fontWithName:@"Chalkduster" size:22]];
[_gameSlider setTitleColor:[UIColor lightGrayColor] forState:UIControlStateNormal];
[_gameSlider setTitleColor:[UIColor yellowColor] forState:UIControlStateSelected | UIControlStateHighlighted];
[_gameSlider addTarget:self action:@selector(playButtonPressed) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:_gameSlider];
【问题讨论】:
【参考方案1】:将你想要的背景颜色放在 forState:Highlighted 下。
当它被按下时它不在UIControlStateNormal
它是UIControlStateHighlighted
。
【讨论】:
那甚至无法编译。当它在 UIControlStateSelected 中被按下时肯定会?! 否,其控制状态在按下时突出显示,未选中。你知道我的意思,如果它突出显示,添加代码,这将解决你的问题。 也许我不清楚。我只希望它在被按下时改变。背景改变了,但标题没有改变。 然后你把它放在forState:Highlighted下,高亮就是按下时的样子。以上是关于UIButton自定义按钮不会在选择时更改字体颜色的主要内容,如果未能解决你的问题,请参考以下文章
目标 - 突出显示/选择C按钮时,突出显示/选择背景颜色和字体颜色
在uitableview中选择时如何更改自定义单元格图像和标签字体颜色?