0

我是 IOS 开发新手,现在我在 cell.textLabel.textColor 中遇到问题

我所做的是实现一个表格视图,并根据部分设置颜色,如下所示,我有 4 个部分,每个部分有 7 行。 在此处输入图像描述 如您所见,当此标签位于 0 部分时,我仅将文本颜色设置为红色,但是,结果是:

在此处输入图像描述

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

但是如果我取消注释 else 范围内的代码,将颜色设置为黑色,它就可以工作。

在此处输入图像描述 在此处输入图像描述

4

2 回答 2

1

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

于 2015-04-04T10:55:16.660 回答
1

这是预期的行为。

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

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

于 2015-04-04T10:40:56.500 回答