当用户按下工具栏中的按钮时,我有一个 UITableViewController 切换到其编辑模式。我希望用户选择多个单元格,然后在每个选定单元格的左侧放置一个圆形红色复选标记。我在情节提要的表格视图中选择了编辑期间的多项选择,并且我的自定义单元格没有附件/编辑附件。
问题是我可以在 tableView 的indexPathsForSelectedRows中找到每个被点击的单元格,但是每个选定单元格左侧的红色复选标记没有出现。但是,离开编辑模式后,每个选定的单元格都会在右侧显示一个复选标记附件(完成编辑后我不再需要它)。
编辑时: 编辑后:
这是我在代码中所做的:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (tableView.editing)
{
UITableViewCell *selectedCell = [tableView cellForRowAtIndexPath:indexPath];
if ([selectedCell accessoryType] == UITableViewCellAccessoryNone)
{
[selectedCell setAccessoryType:UITableViewCellAccessoryCheckmark];
}
else
{
[selectedCell setAccessoryType:UITableViewCellAccessoryNone];
}
}
}
和
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
...
if (tableView.editing)
{
cell.accessoryType = UITableViewCellAccessoryNone;
for (NSIndexPath *selectedIndex in [self.tableView indexPathsForSelectedRows])
{
if ([selectedIndex isEqual:indexPath])
{
cell.accessoryType = UITableViewCellAccessoryCheckmark;
break;
}
}
}
...
谢谢!