2011-04-29 48 views
0

是否可以使UITableView中的一個單元格具有ON/OFF行爲?基本上,當我點擊一個單元格時,它變成了綠色,這正是我想要的。它不會去另一個viewController或任何東西。但是當我再次點擊同一個單元格時,在相同的視圖中,我希望綠色消失,並且它返回到之前的顏色狀態。在同一個單元上打開/關閉UITableView中的單元格,在同一視圖中

這是我有我的didSelectRowAtIndexPath方法

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    NSString *selectedPhrase = [dataTable objectAtIndex:indexPath.row]; 
    [self setCurrentPhrase:selectedPhrase]; 
} 

這似乎是一個簡單的問題。我知道我可以放入[tableView deselectRowAtIndexPath:indexPath animated:YES];,但是在點擊它之後,它就會立即使其不亮。

謝謝!

亞倫

回答

1

你可以改變你UITableViewCell在選擇背景顏色,所以你可以使用它BOOL會告訴你如何在背景填充(無論綠色或只是鮮明的色彩)。

訪問您通過以下方法下面

- (UITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)indexPath 

用作參考碼單元。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    NSString *selectedPhrase = [dataTable objectAtIndex:indexPath.row]; 
    [self setCurrentPhrase:selectedPhrase]; 

     MyCutsomCell* myCell= (MyCutsomCell*)[tableView cellForRowAtIndexPath:indexPath]; 
     if(myCell.isGreen) 
     { 
     //Change backgroundColor to Green 
     } 
     else 
     { 
     //Clear backgroundColor 
     } 

     myCell.isGreen = !myCell.isGreen; 
} 
+0

這是一個很好的建議,用它來使它工作。謝謝! – Aaron 2011-05-03 04:05:30

相關問題