为什么我的UITableViewCell的内容消失了?

时间:2010-03-18 14:17:36

标签: iphone iphone-sdk-3.0 uitableview

我正在学习使用复选标记单元附件,并想知道为什么切换时单元格内容正在消失。

这是我的代码:

+ (void) toggleCheckmarkedCell:(UITableViewCell *)cell {
    if (cell.accessoryType == UITableViewCellAccessoryNone)
        cell.accessoryType = UITableViewCellAccessoryCheckmark;
    else
        cell.accessoryType = UITableViewCellAccessoryNone;
}

这里是didSelectRowAtIndexPath:

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
[cell setSelectionStyle:UITableViewCellSelectionStyleNone];

[RootViewController toggleCheckmarkedCell:cell];

勾选标记是打开/关闭并且可见,但单元格的主要内容消失。任何人都可以解释为什么会这样吗?

谢谢,

1 个答案:

答案 0 :(得分:7)

你的细胞没有消失,只是改变了选择风格。 例如,textLabel中的文本为黑色字体。单击单元格时,选择它, cell.selected 属性更改为YES,并自动将textLabel字体颜色更改为白色,将单元格背景更改为蓝色。然后将 selectionStyle 更改为 UITableViewCellSelectionStyleNone ,并将单元格的背景颜色更改为白色。但细胞仍然保持选中状态,文字颜色也是白色。白色背景上的白色颜色只是看不见。

要解决此问题,您应该更改所选属性,而不是选择SelectionStyle。或者使用自定义单元格。