我正在写下面的行来设置复选标记。
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
customersListCell.accessoryType = UITableViewCellAccessoryCheckmark;
}
但是,如果我选择一行,则复选标记出现在另一行上。如果我滚动,那么复选标记就会消失。
答案 0 :(得分:2)
那么你应首先确保将复选标记应用于正确的单元格:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell * cell_to_alter = [tableView cellForRowAtIndexPath:indexPath];
cell_to_alter.accessoryType = UITableViewCellAccessoryCheckmark;
}
现在你需要意识到iOS默认重用表格中的单元格 - 所以当一个单元格被拖动屏幕时,它可能会用于显示另一个单元格内容。
在设计 cellForRowAtIndexPath:方法时,必须考虑此行为。 (基本上 - 检查单元格是否应该有复选标记并将其添加到单元格中, CLEAR 如果它不应该有单词)。