UIButton adjustsImageWhenHighlighted 属性与背景颜色
Posted
技术标签:
【中文标题】UIButton adjustsImageWhenHighlighted 属性与背景颜色【英文标题】:UIButton adjustsImageWhenHighlighted Property With Background Color 【发布时间】:2013-06-16 11:44:14 【问题描述】:我有一组添加到 .xib 的视图控制器上的按钮,并且它们的属性以编程方式进行调整。
背景颜色在代码中设置如下,然后当点击它时,我使用选择器方法更改背景颜色。
在 configureButtons 方法中:
[btn addTarget:self action:@selector(changeButtonBackGroundColor:) forControlEvents:UIControlEventTouchDown];
调用如下:
-(void) changeButtonBackGroundColor:(id) sender
[sender setBackgroundColor:[UIColor colorWithRed: 199/255. green: 95/255. blue: 45/255. alpha:1.0]];
当“突出显示调整图像”属性设置为 YES 时,以编程方式在触摸时调整背景效果很好,但它在触摸时显示白光以及更改背景颜色。
我不想在触摸按钮时看到白色突出显示,所以我关闭了该属性。这会导致背景颜色更改停止工作。
有没有办法改变 UIButton 的背景颜色,同时在触摸时不显示白色发光高亮?
【问题讨论】:
【参考方案1】:您可以尝试使用具有特定颜色的背景图片。在这种情况下,您可以轻松使用– setBackgroundImage:forState:
函数。我认为即使 showsTouchWhenHighlighted
设置为 NO 也可以。
【讨论】:
我根本不在按钮上使用图像。我只是更改颜色并以编程方式将它们更改为圆形按钮。据我所知,如果不摆脱改变背景颜色的能力,触摸时似乎无法摆脱高光/发光。 @motionpotion 我建议你使用图像。您只需创建正确的彩色图像并以更简单的方式使用它。以上是关于UIButton adjustsImageWhenHighlighted 属性与背景颜色的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Swift4 会强制转换 UIButton 数组!到 [UIButton?] 类型?
UIButton:根据titleLabel Text计算UIButton的高度
我们在swiftui中作为 UIButton(Sender: UIButton) 有啥? [关闭]