2010-05-26 85 views
1

在我的應用程序中,我使用了UITableViewController(「分組樣式」) ,在其中的一個部分中,我希望用戶能夠看到他選擇的內容通過使這種細胞變色和其他「無色」。UITableView - 顏色表中的selectede單元格(保持着色)

通過更新所有小區否則它的背景顏色和重裝表數據,每次用戶觸摸的小區(在didSelectRowAtIndexPath方法:)

問題是,有在didSelectRowAtIndexPath方法做了一些處理:使顏色沒有按」不會因爲某種原因而改變方向,而是會在觸摸後稍微延遲一段時間。 (我的處理是微小的延遲resone)

有沒有更好的方式做到這一點?

任何幫助將不勝感激 Liron

附:我是新手......

回答

1

爲了做到這一點,你需要重寫UITableViewCell的一個方法。您可以繼承UITableViewCell並覆蓋如下所示的方法:

- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated { 
    [super setHighlighted:highlighted animated:animated]; 

    // Custom drawing code here 
} 

只要在表格視圖單元格上觸摸,就會觸發它。如果您現在想在電池上有任何默認顏色,請確保執行以下操作:

cell.selectionStyle = UITableViewCellSelectionStyleNone;