2012-02-13 14 views
0

我爲您解決了一個簡單的問題。我試圖保持默認行爲,當用戶選擇tableviewcell後從視圖回來。通常情況下,單元格將保持藍色一會兒,以向用戶顯示所選行的位置,但我忘記了如何自定義該行。可以說,爲了簡單起見,我所有的單元默認都是綠色的,當你選擇它們時會變成紅色。當用戶正在返回表格時自定義表格的單元格顏色

- (void)setSelected:(BOOL)selected animated:(BOOL)animated { 
    if (selected) { 
     self.backgroundColor = [UIColor redColor]; 
    } else { 
     self.backgroundColor = [UIColor greenColor]; 
    } 
} 

當用戶選擇後退按鈕,該小區不顯示用戶自己的最後選擇的小區,紅色在這種情況下。我記得有一個變量可以用來在控制器中定製它,但我不記得它是什麼。有人能指出我正確的方向嗎?

謝謝!

回答

0

的屬性和方法我一直在尋找爲:

self.clearsSelectionOnViewWillAppear = YES; 
[self.tableView deselectRowAtIndexPath:[self.tableView indexPathForSelectedRow] animated:YES]; 

感謝那些誰回答。

1

如果您只想更改背景單元格的顏色,您可以創建一個新視圖,將其設置爲背景顏色並將其分配給單元格選定的背景視圖。

UIView *cellSelectedBackgroundView = [[UIView alloc] init]; 
[cellSelectedBackgroundView setBackgroundColor:[UIColor someColor]]; 
[cell setSelectedBackgroundView:cellSelectedBackgroundCView]; 
-1
UIView *bgColorView = [[UIView alloc] init]; 
[bgColorView setBackgroundColor:[UIColor redColor]]; 
[cell setSelectedBackgroundView:bgColorView]; 
[bgColorView release]; 
相關問題