0

我有一个来自此示例的自定义滑动识别类: 如何在自定义 UITableviewCell 中检测滑动删除手势?

    - (void)cellSwiped:(UIGestureRecognizer *)gestureRecognizer {
    if (gestureRecognizer.state == UIGestureRecognizerStateEnded) {
        UITableViewCell *cell = (UITableViewCell *)gestureRecognizer.view;
        NSIndexPath* indexPath = [self.tableView indexPathForCell:cell];
    }
}

现在我想在 indexPath 中选择那一行并为其启用编辑模式,有人可以告诉我如何完成吗?

4

3 回答 3

2

在某处缓存您想要的行,并且在您的实现中- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath只返回YES您想要可编辑的行。然后通过发送进入编辑模式[tableView setEditing:YES animated:YES];

于 2013-03-18T03:42:01.597 回答
0

你可以在你的类中有一个变量NSIndexPath *indexthen have

-(BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
    return indexPath == self.index;
}

并将索引设置为您希望能够编辑的任何单元格,然后tableView setEditing:YES animated:YES/NO在您想要编辑该单元格时调用。

于 2013-03-18T04:40:44.023 回答
0

像这样试试

在您的 tableViewdidSelectRowAtIndex委托方法中调用该editingStyleForRowAtIndexPath方法,

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
 [yourTableView.delegate tableView:tableView editingStyleForRowAtIndexPath:indexPath];
}

editingStyleForRowAtIndexPath方法上,

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {


  return UITableViewCellEditingStyleDelete;

  }


- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {



}
于 2013-03-18T04:50:13.823 回答