2011-12-27 60 views
0

我想(禁用時黑色文本啓用時,灰色文本)來改變一個UITableViewCell的啓用狀態在運行時,使得它的外觀相匹配的狀態。如何在運行時將UITableViewCell從啓用更改爲禁用,使其文本從黑色變爲灰色?

當我小區的userInteractionEnabled屬性設置爲YES/NO作爲第一次加載表,我得到我想要的東西:使細胞有黑色文本,殘疾人細胞有灰色文本。

但是,當我從該表中導航離開,然後返回,更改屬性改變細胞的狀態,而不是它的黑/灰色的外觀。我正在調用'viewWillAppear:animated:','tableView:cellForRowAtIndexPath:',並且正在更改userInteractionEnabled,正如我現在可以選擇一個新啓用的單元的事實證明的那樣它的文本還是灰色。)

這是一個標準UITableViewCellStyleDefault表格單元格。

任何建議,這裏將是最受歡迎的。

+0

在黑暗中拍攝,但嘗試在'tableView:willDisplayCell:forRowAtIndexPath:'委託方法中設置'userInteractionEnabled' ... – 2011-12-27 20:42:51

+0

值得一試,但沒有這樣的運氣。單元格的文字顏色仍然沒有變化。 – SteveCaine 2011-12-27 21:26:04

回答

0

手動更改文字顏色?這不行嗎?

cell.text.textColor = [UIColor somecolor]; 
+1

這是一個破解,應該沒有必要。更好地治療原因比症狀。 – 2011-12-27 20:49:38

0

根據Weird iOS bug with UITableViewCell and userInteractionEnabled的伎倆是先設定userInteractionEnabled,然後設置文本。反轉訂單不起作用。我能夠使用iOS 8.1.3驗證這一行爲。該帖子還有其他一些解決方法。

+0

謝謝。在下次我希望在運行時啓用/禁用錶行時,似乎我偶然發現了相同的答案;現在如果它再次開始失敗,我會知道檢查這一點。 – SteveCaine 2015-02-09 05:52:49

相關問題