2011-08-18 110 views
1

我使用UIButton作为可按下的imageView。现在,当我按下按钮时,背景图像仍然可见,但灰色透明图层位于图像顶部。如何更改此图层的颜色?UIButton选择颜色

我试过设置setBackgroundImage:forState:但所有这些都是用另一个图像替换当前图像。

注意

我可以使用下面的代码实现代码如下一行做到这一点:

// Custom selectionStyle color 
UIView *v = [[[UIView alloc] init] autorelease]; 
v.backgroundColor = [UIColor myBlue]; 
groupCell.selectedBackgroundView = v; 

回答

3

苹果的做法是希望你能提供相应着色的图像。因此,如果您想要将该灰色覆盖层更改为红色,则需要拨打setBackgroundImage:forState:并提供可以交换的适当着色的图像。

不幸的是,在SDK/API中没有直接访问权限,可以让您更改默认突出显示颜色 - 只是图像。

+0

不幸的是,这不能在我的应用程序中完成,因为该按钮的背景图像将从相机拍摄。这不是一个大问题,我不能做到这一点,但它会为整体提供更好的主题色彩方案。 – tazboy

+0

也许我将不得不使用实际的'UIImageView'并设置事件来模仿按钮。假设我可以像设置表格单元一样设置背景视图。 – tazboy

+0

也许你可以做一些合成来创建一个使用相机输入的图像并在其上覆盖一层灰色图层? – lxt