2011-08-18 183 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