设置 cell.textLabel.textColor 导致 IOS 中其他部分的颜色不一致

set cell.textLabel.textColor causes other section's color inconsisitent in IOS

我是 IOS 开发的新手,现在我在 cell.textLabel.textColor

中遇到问题

我所做的是实现一个表视图,并根据部分设置颜色,如下所示,我有 4 个部分,每个部分有 7 行。 正如你所看到的,当这个标签在 0 部分时,我只将文本颜色设置为红色,但是,结果是:

其余部分的颜色不对,如您所见,其中一些变成了红色。

但如果我取消注释 else 范围内的代码,将颜色设置为黑色,它就起作用了。

这是预期的行为。

UITableView 重复使用具有相同标识符的单元格。所以,如果你只在第 0 节将它们设置为红色,它们最终会被重用,并且由于你从未告诉过可重用状态是什么,它们将重用红色状态。

您可以按照您的方式解决这个问题(当部分不为零时提供默认状态),或者您可以在自定义单元格中实现方法 -(void)prepareForReuse(扩展 UITableViewCell ).

这是其他人所说的预期行为。您应该同时拥有 textColor=blacktextColor=red,因为您的 UITableViewController 正在考虑所有带有标识符 "Cell" 的单元格。如果您要对单元格进行大量自定义,我建议您创建一个具有不同标识符的新自定义单元格,以便您的 UITableViewController 能够区分它