1

我有一个 UITableView,里面有几个 UITableViewCells。我想长按一个单元格以开始移动它并按住它并拖动以移动它。但我不知道怎么做。

我在表格视图上添加了一个长按手势,当用户长按时,将表格视图的编辑设置为是:

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

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

并且 tableview 可以使用两种方法移动单元格:

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

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

但是使用这些代码,用户必须使用两次触摸来移动单元格:一个是将 tableview 设置为编辑状态,另一个是移动单元格。我想要的是允许用户使用一键来做到这一点。

有什么建议么?谢谢!

4

1 回答 1

1

我找到了这个 UITableView 子类:移动表格视图

于 2012-06-27T08:41:50.620 回答