0

次の 2 つのメソッドを追加して、テーブル ビューにスワイプして削除するオプションを実装しました。

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
    return YES;
}



- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (editingStyle == UITableViewCellEditingStyleDelete)
    {
        //Action to delete
    }
}

これはうまく機能し、セルをスワイプするたびに(左から右と右から左の両方)、赤い色の削除ボタンがうまく表示されます.

しかし、ユーザーが右から左方向にスワイプした場合にのみ、削除ボタンを表示したいと思います。ユーザーが左から右にスワイプすると、別のアクションを実行したいと思います。ここで方向を見つけることは可能ですか?

4

1 に答える 1

2

無視する方向のテーブル ビューにスワイプ ジェスチャ レコグナイザーを追加するだけです。

UISwipeGestureRecognizer *swipe = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(emptyMethod:)];
swipe.direction = UISwipeGestureRecognizerDirectionLeft;
[self.tableView addGestureRecognizer:swipe];

次に、emptyMethod を実装します。このメソッドは何もしません。

- (void)emptyMethod {}

左にスワイプするたびに、空のメソッドが呼び出され、何もしません。

于 2013-04-19T12:42:55.393 に答える