我是IOS开发的新手,现在我在cell.textLabel.textColor
中遇到了问题我所做的是实现一个tableview,并根据该部分设置颜色,如下所示,我有4个部分,每个部分有7行。 正如您所看到的,当此标签位于0部分时,我只将文本颜色设置为红色,但结果是:
其他部分的颜色是错误的,正如您所看到的,其中一些变为红色。
但如果我取消注释else范围中的代码,请将颜色设置为黑色,它可以正常工作。
答案 0 :(得分:1)
这是预期的行为。
UITableView
重用具有相同标识符的单元格。因此,如果你只在第0部分将它们设置为红色,它们最终将被重用,并且由于你从未告诉可重用状态是什么,它们将重用红色状态。
您可以按照您的方式解决此问题(当该部分不为零时提供默认状态),或者您可以在自定义单元格(扩展-(void)prepareForReuse
)中实现方法UITableViewCell
。
答案 1 :(得分:1)
这是其他人说的预期行为。您应该同时拥有textColor=black
和textColor=red
,因为您的UITableViewController
正在考虑所有带标识符的单元格" Cell"同一件事情。如果您打算在单元格上进行大量自定义,我建议您创建一个具有不同标识符的新自定义单元格,以便UITableViewController
能够区分它