更改表视图中所有单元格的文本颜色

时间:2011-08-06 22:09:12

标签: ios iphone uitableview ipad

有没有办法更改表格视图中所有单元格中文本的颜色?我之前看过这个,它只讨论了改变一个单元格的文本颜色的方法。我的应用程序没有一定数量的单元格,所以这不起作用。

4 个答案:

答案 0 :(得分:5)

在:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

执行:

cell.textLabel.textColor = [UIColor greenColor];

答案 1 :(得分:1)

您可以使用UITableViewCell的textLabel属性执行此操作。但是你不能改变textLabel的框架大小。

cell.textLabel.textColor = [UIColor blackColor];

要更改帧大小和内容,您需要创建一个UILabel并为其指定正确的帧,颜色和文本,然后将其添加为SubView。

[cell.contentView addSubview: myLabel];

对于这种方法,请务必注意可重用性问题(您需要继承UITableViewCells并创建CustomUITableViewCells)。

答案 2 :(得分:1)

您可以通过以下两种方式之一完成此操作:

  1. 实现自定义UITableViewCell子类,将标签的textColor设置为所需的颜色。

  2. 在cellForRowAtIndexPath中更改textColor。只需在返回单元格之前的某处插入以下代码;

    cell.textLabel.textColor = [UIColor redColor];
    

答案 3 :(得分:0)

如果要避免委托方法,并动态更改可见行...

试试这个:

NSEnumerator *e = [[self.tableView indexPathsForVisibleRows] objectEnumerator];
id object;
while (object = [e nextObject]) {
    UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:object];
    cell.textLabel.textColor = [UIColor grayColor];
}

像魅力一样。