2014-09-29 83 views
0

我有一個UITableView的一些內容。單元格有自己的UITableViewCell類,它有兩個UIView和一個UILabel屬性。當用戶點擊單元格時,其中一個視圖會改變其顏色。但如果我想返回以前的顏色,它不會發生。在單元格行內切換視圖?

我試着用自定義的BOOL變量,用UITableViewCell類中的一些方法,一切都沒有成功。

(注:我試圖與UITableViewCellAccessoryType附件(我不想細胞輔助,我剛剛試了一下)和它的工作......)

所以,我怎麼可以切換視圖/標籤/單元格內的任何東西?謝謝。

p.s.我可以告訴你的代碼,但似乎更多的理論問題......

+1

顯示您已經嘗試的代碼是什麼時,你說它的工作原理,當它不 – Wain 2014-09-29 06:30:44

+0

我會上傳在Github的一些代碼,如果可以的話之間的區別 – 2014-09-29 07:20:10

+0

這是最好添加相關的代碼直接提交給問題(這樣就有了它的記錄,並且與其餘部分相比是準確的e問題)。 – Wain 2014-09-29 08:10:31

回答

0

通常你重寫你的表視圖細胞亞類setSelected:並改變以色有(取決於所選擇的狀態。

篩選:?

- (void)setSelected:(BOOL)selected 
{ 
    [super setSelected:selected]; 

    if (selected) { 
    self.backgroundColor = [UIColor redColor]; 
} else { 
    self.backgroundColor = [UIColor whiteColor]; 
} 
} 
+0

'setSelected:'只返回TRUE。我是Obj-c的新手,所以如果你請解釋如何重寫方法....我會感激:) – 2014-09-29 07:21:55

+0

在你的UITableViewCell子類中定義一個 - (void)setSelected:(BOOL)selected {}方法。內部檢查所選狀態並根據所選參數的值確定設置的顏色。 – diederikh 2014-09-29 07:56:20