2

我在视图控制器上有一组按钮,它们被添加到 .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 的背景颜色,而不会在触摸时显示白色发光高亮?

4

1 回答 1

0

您可以尝试使用具有特定颜色的背景图像。在这种情况下,您可以轻松地使用– setBackgroundImage:forState:函数。我认为即使showsTouchWhenHighlighted设置为 NO,这也会起作用。

于 2013-06-16T12:41:28.170 回答