我想将Checkmark用作切换开关,以允许用户选择一捆物品,但这不能按预期方式工作-我必须点按两次该单元格,单元格才能打开/关闭Checkmark。而且,如果我使用[tableView reloadData]
而不是reloadRowsAtIndexPaths
则根本不起作用。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
if (cell.accessoryType == UITableViewCellAccessoryCheckmark) {
cell.accessoryType = UITableViewCellAccessoryNone;
} else if (cell.accessoryType == UITableViewCellAccessoryNone) {
cell.accessoryType = UITableViewCellAccessoryCheckmark;
}
[tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationNone];
}
最佳答案
您的代码正在更改view属性,然后从模型数据中重新加载表视图。在重新加载之前,您应该更改模型数据而不是view属性。