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 *indexます

-(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 に答える