如何在iOS中的UITableViewCell上禁用特定方向的滑动?

时间:2013-04-19 12:17:41

标签: ios uitableview direction uiswipegesturerecognizer

我在表格视图中实现了“滑动到删除”选项,方法是添加以下两种方法:

- (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
    }
}

这很好用,每当我在细胞上滑动时(从左到右和从右到左),红色删除按钮就会出现。

但我想只显示删除按钮,用户从右向左滑动。当用户从左向右滑动时,我想执行其他一些操作。有可能在这里找到方向吗?

1 个答案:

答案 0 :(得分:2)

只需在表格视图中添加滑动手势识别器,即可忽略您想要的方向。

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

然后实现emptyMethod ..这个方法不会做任何事情。

- (void)emptyMethod {}

每次向左滑动时,都会调用空方法并且不会执行任何操作。