设置 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=black
和 textColor=red
,因为您的 UITableViewController
正在考虑所有带有标识符 "Cell" 的单元格。如果您要对单元格进行大量自定义,我建议您创建一个具有不同标识符的新自定义单元格,以便您的 UITableViewController
能够区分它
我是 IOS 开发的新手,现在我在 cell.textLabel.textColor
中遇到问题我所做的是实现一个表视图,并根据部分设置颜色,如下所示,我有 4 个部分,每个部分有 7 行。
其余部分的颜色不对,如您所见,其中一些变成了红色。
但如果我取消注释 else 范围内的代码,将颜色设置为黑色,它就起作用了。
这是预期的行为。
UITableView
重复使用具有相同标识符的单元格。所以,如果你只在第 0 节将它们设置为红色,它们最终会被重用,并且由于你从未告诉过可重用状态是什么,它们将重用红色状态。
您可以按照您的方式解决这个问题(当部分不为零时提供默认状态),或者您可以在自定义单元格中实现方法 -(void)prepareForReuse
(扩展 UITableViewCell
).
这是其他人所说的预期行为。您应该同时拥有 textColor=black
和 textColor=red
,因为您的 UITableViewController
正在考虑所有带有标识符 "Cell" 的单元格。如果您要对单元格进行大量自定义,我建议您创建一个具有不同标识符的新自定义单元格,以便您的 UITableViewController
能够区分它