1

いくつかのUITableViewCellを含むUITableViewがあります。セルを長押しして移動を開始し、押し続けてドラッグして移動したいと思います。しかし、私は方法がわかりません。

テーブルビューに長押しジェスチャを追加しました。ユーザーが長押ししたときに、テーブルビューの編集を[はい]に設定します。

UILongPressGestureRecognizer *longPressRecognizer = [[UILongPressGestureRecognizer alloc] 
                                                     initWithTarget:self
                                                     action:@selector(handleTableViewLongPress:)];
[_tableView addGestureRecognizer:longPressRecognizer];

- (void)handleTableViewLongPress:(UILongPressGestureRecognizer *)gesture
{
    if (gesture.state != UIGestureRecognizerStateBegan)
        return;
    [_tableView setEditing:YES];
}

また、テーブルビューは2つの方法でセルを移動できます。

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

- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath
{
    //update datasource
}

ただし、これらのコードでは、ユーザーは2つのタッチを使用してセルを移動する必要があります。1つはテーブルビューを編集状態に設定することで、もう1つはセルを移動することです。私が欲しいのは、ユーザーがワンタッチでこれを実行できるようにすることです。

助言がありますか?ありがとう!

4

1 に答える 1

1

私はこのUITableViewサブクラスを見つけました:テーブルビューを移動します

于 2012-06-27T08:41:50.620 に答える