2013-05-01 77 views
2

我有一個自定義的UITableViewCell(從XIB實例化)與圖像作爲背景。現在,我希望在選擇單元格時將另一個圖像作爲背景(類似於標準單元格的藍色閃爍)。我已經嘗試使用或didSelectRowAtIndexPath中的setSelectedBackgroundView進行設置,但突出顯示的背景不會顯示出來。我究竟做錯了什麼?自定義UITableViewCell與圖像突出顯示

回答

3

在您的自定義Cell.xib

enter image description here

接下來讓這個

enter image description here

終於做到這一點

enter code here

+2

THX與圖像解釋,但你錯過了沒有設置selectionStyle無法比擬的。 – DanielR 2013-05-01 07:21:18

+0

是啊,對不起..忘記.....(+ 1)爲您的問題和評論.... – 2013-05-01 07:26:06

1

您可以使用爲CustomCell創建的XIB來設置選定的背景視圖。您只需要將UIImageView設置爲XIBimageview必須與CustomCell的高度相同)。現在將名爲「selectedBackgroundView」的插座連接到CustomCellUIImageView作爲選定的背景視圖。還要檢查的selectionStyle是否不是無。

2

你試過像下面一個

調用下面的方法從TableView中的DataSource方法(cellForAtIndexPath)做同樣的工作

- (void)setCellBGColorNormalAndSelectedForTableViewCell:(UITableViewCell*)cell cellForRowAtIndexPath:(NSIndexPath*)indexPath 
{ 
    UIImageView *normalCellBG = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, cell.frame.size.width, cell.frame.size.height)]; 

[normalCellBG setImage:[UIImage imageNamed:@"box_nonselected.png"]];//Set Image for Normal 
[normalCellBG setBackgroundColor:[UIColor clearColor]]; 
[cell setBackgroundView:normalCellBG]; 


UIImageView *selecetedCellBG = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, cell.frame.size.width, cell.frame.size.height)]; 
[selecetedCellBG setImage:[UIImage imageNamed:@"box_selected.png"]];//Set Name for selected Cell 
[selecetedCellBG setBackgroundColor:[UIColor clearColor]]; 
[cell setSelectedBackgroundView:selecetedCellBG ]; 

} 
+0

老兄,我有一個相同的問題。你的回答很好,但是如果我們在'cellForAtIndexPath'中寫入並且圖像被覆蓋,這個方法會被調用很多次。如何只打一次電話? – Krunal 2014-01-06 12:01:42

相關問題