いくつかの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つはセルを移動することです。私が欲しいのは、ユーザーがワンタッチでこれを実行できるようにすることです。
助言がありますか?ありがとう!