iOS - 滑动即可删除,同时还允许移动行

时间:2015-05-26 18:02:01

标签: ios objective-c uitableview

我的表格视图处于编辑模式,允许我的单元格被移动。是否可以添加滑动删除,而不是使用红圈删除按钮。

我希望能够只显示移动单元格图像,允许移动,还可以滑动删除。

这可能吗?

这就是我目前的情况。

-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (indexPath.section == 1) {
        return UITableViewCellEditingStyleDelete;
    }
    else
        return UITableViewCellEditingStyleNone;
}

-(BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (indexPath.section == 1)
        return YES;
    else
        return NO;
}

- (BOOL)tableView:(UITableView *)tableview shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath {
    return NO;
}

1 个答案:

答案 0 :(得分:0)

这绝对是可能的,虽然不像你想的那么简单。这有三个部分:

  1. “轻扫”手势
  2. UI动画
  3. 删除操作
  4. “滑动”手势可能不应该是UISwipeGestureRecognizer。当用户移动手指并匹配用户期望的内容时,UIPanGestureRecognizer会更新。

    动画应该包含两部分:更新和完成。更新应该简单地平移单元格内的单元格视图以跟随用户的手指。一旦手势达到“完成”点,然后将屏幕上的单元格视图设置为动画。

    最后,如果您使用UITableViewDelegate方法,则应该熟悉删除操作。如果没有,here's a link to a helpful answer on the subject

    我实际上是按顺序实现这些。首先,以编程方式测试删除行。如果有效,请添加UIPanGestureRecognizer以调用删除行。然后使用平移手势移动单元格视图。最后,动画完成移动的单元格视图。