UITableView失去选择

时间:2011-12-11 13:41:16

标签: ios uitableview

我的UITableView选择有问题。 如果单击编辑按钮,TableView将进入编辑模式并丢失当前选择。

如何在不丢失选择的情况下进入编辑模式?

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
    // Return NO if you do not want the specified item to be editable.
    return YES;

}

2 个答案:

答案 0 :(得分:2)

我能够重现它:如果选择像[self.tableView selectRowAtIndexPath:]这样的行,则单元格会丢失其选择。 但是如果直接选择单元格,它就不会在编辑时丢失选择,如下所示:

    UITableViewCell* cell = [self.tableView cellForRowAtIndexPath:
                          [NSIndexPath indexPathForRow:1 inSection:0]];

    [cell setSelected:YES animated:NO];

答案 1 :(得分:1)

覆盖表视图控制器中的setEditing:animated:。如果要进入编辑模式,请将当前选择存储为NSIndexPath实例变量:

selectedRow = [self.tableView indexPathForSelectedRow];

如果您要退出编辑模式,请将表格的选择设置为存储的索引路径:

[self.tableView selectRowAtIndexPath:selectedRow animated:NO scrollPosition:UITableViewScrollPositionNone];

小心不要尝试选择在编辑过程中删除的行。并记得同时调用super实现!