Iphone 如何在运行时将UITableViewCell从启用更改为禁用,使其文本从黑色变为灰色?

Iphone 如何在运行时将UITableViewCell从启用更改为禁用,使其文本从黑色变为灰色?,iphone,ios,uitableview,Iphone,Ios,Uitableview,我想在运行时更改UITableViewCell的启用状态,使其外观与其状态匹配(启用时为黑色文本,禁用时为灰色文本) 当我在第一次加载表时将单元格的userInteractionEnabled属性设置为YES/NO时,我得到了我想要的结果:启用的单元格有黑色文本,禁用的单元格有灰色文本 但当我离开此表并返回时,更改属性会更改单元格的状态,但不会更改其黑色/灰色外观 (我正在重新加载“ViewWillDisplay:animated:”、“tableView:CellForRowatineXpat

我想在运行时更改UITableViewCell的启用状态,使其外观与其状态匹配(启用时为黑色文本,禁用时为灰色文本)

当我在第一次加载表时将单元格的userInteractionEnabled属性设置为YES/NO时,我得到了我想要的结果:启用的单元格有黑色文本,禁用的单元格有灰色文本

但当我离开此表并返回时,更改属性会更改单元格的状态,但不会更改其黑色/灰色外观

(我正在重新加载“ViewWillDisplay:animated:”、“tableView:CellForRowatineXpath:”中的表格,并且我正在适当地更改userInteractionEnabled,这可以从我现在可以选择新启用的单元格(即使其文本仍然为灰色)这一事实中得到证明。)

这是一个标准的UITableViewCellStyleDefault表格单元格


欢迎在此提供任何建议。

是否手动更改文本颜色?那不行吗

cell.text.textColor = [UIColor somecolor];

根据这个技巧,首先设置
userInteractionEnabled
,然后设置文本。颠倒顺序是行不通的。我能够用iOS 8.1.3验证这种行为。这篇文章还有一些其他的解决方法。

在黑暗中拍摄,但是试着在
表格视图中设置
userInteractionEnabled
:willDisplayCell:forrowatinexpath:
委托方法……值得一试,但没有这样的运气。单元格的文本颜色仍然没有变化。这是一个黑客攻击,应该没有必要。治疗病因比治疗症状更好。谢谢。似乎我在下一次运行时启用/禁用表行时偶然发现了相同的答案;现在,如果它再次对我失败,我会知道检查这个。