我正在学习使用复选标记单元附件,并想知道为什么切换时单元格内容正在消失。
这是我的代码:
+ (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];
勾选标记是打开/关闭并且可见,但单元格的主要内容消失。任何人都可以解释为什么会这样吗?
谢谢,
答案 0 :(得分:7)
你的细胞没有消失,只是改变了选择风格。 例如,textLabel中的文本为黑色字体。单击单元格时,选择它, cell.selected 属性更改为YES,并自动将textLabel字体颜色更改为白色,将单元格背景更改为蓝色。然后将 selectionStyle 更改为 UITableViewCellSelectionStyleNone ,并将单元格的背景颜色更改为白色。但细胞仍然保持选中状态,文字颜色也是白色。白色背景上的白色颜色只是看不见。
要解决此问题,您应该更改所选属性,而不是选择SelectionStyle。或者使用自定义单元格。