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

bar*_*oon 0 iphone uitableview iphone-sdk-3.0

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

这是我的代码:

+ (void) toggleCheckmarkedCell:(UITableViewCell *)cell {
    if (cell.accessoryType == UITableViewCellAccessoryNone)
        cell.accessoryType = UITableViewCellAccessoryCheckmark;
    else
        cell.accessoryType = UITableViewCellAccessoryNone;
}
Run Code Online (Sandbox Code Playgroud)

这里是didSelectRowAtIndexPath:

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

[RootViewController toggleCheckmarkedCell:cell];
Run Code Online (Sandbox Code Playgroud)

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

谢谢,

Vla*_*mir 7

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

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