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) 有啥? [关闭]

UIButton的使用

如何在 UIButton 的右边缘对齐 UIButton 图像

UIButton