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