当前位置: 首页 > 知识库问答 >
问题:

要在UITableView中显示从右向左滑动的删除按钮吗

苏鸿才
2023-03-14
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
    return YES;
}

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{
    return UITableViewCellEditingStyleDelete;
}


- (void)tableView:(UITableView *)tableView commitEditingStyle(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath{

    if(editingStyle == UITableViewCellEditingStyleDelete){
        //[theSimpsons removeObjectAtIndex:indexPath.row];

        NSString *time = [[arrayList objectAtIndex:indexPath.row] objectForKey:@"TIME"];
        NSString *date= [[arrayList objectAtIndex:indexPath.row] objectForKey:@"DATE"];
        DBManager *dbm = [[DBManager alloc] init];
        [dbm initiallzeDatabase];
        [dbm deleteItemAtIndexPath:time :date];

        //arrayList = [dbm getParkResults];
        //[parkTableView reloadData];

        [arrayList removeObjectAtIndex:indexPath.row];

        [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
    }
}

我已经在我的应用程序中使用了上述代码。编辑部分工作正常,但问题是,只有当我们在单元格上从左向右滑动时,删除按钮才会出现。现在我有了一个菜单,可以像Facebook一样从左向右滑动。那么,我如何确保当用户从右向左滑动时,删除按钮出现呢。

共有3个答案

胡星汉
2023-03-14

看起来你需要自定义UITableViewCell的行为,我从来没有注意到苹果提供了从右向左滑动后的行为......

微生旻
2023-03-14

这可能有用。将此代码放入awakeFromNibinit

UISwipeGestureRecognizer *swipeDelete = [[UISwipeGestureRecognizer alloc]     initWithTarget:self action:@selector(handleSwipeDelete:)];
[swipeDelete setDirection: UISwipeGestureRecognizerDirectionLeft];
[yourTableView addGestureRecognizer:swipeDelete];

然后在handleSwipeDelete中组织单元格并显示删除按钮。您可能需要处理单元格状态,并在刷卡/刷卡上更改它。

益光亮
2023-03-14

请不要将代理设置为uisweegesturecognizer

viewDidLoad或启动UITableView

 UISwipeGestureRecognizer *swipeRight = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(callYourMethod:)];
 swipeRight.direction = UISwipeGestureRecognizerDirectionRight;
 [self.tblView addGestureRecognizer:swipeRight];

不需要在下面的方法中写入任何内容。

- (void)callYourMethod:(UISwipeGestureRecognizer *)recognizer
{

}
 类似资料:
  • 我想实现一个功能,使用Swift 3.0将整个表单元格扫走。比如如何在iOS10的邮件应用程序中滑动删除。 重要的是要注意,我不是指滑动以显示删除按钮,然后处理删除。我的意思是用户可以在屏幕上从右向左滑动来删除。(还要注意,tableView是静态的,而不是动态的) 我必须为此实现UISWipleTestureRecognitor吗?

  • 本文向大家介绍iOS App中UITableView左滑出现删除按钮及其cell的重用,包括了iOS App中UITableView左滑出现删除按钮及其cell的重用的使用技巧和注意事项,需要的朋友参考一下 UITableView的编辑模式 实现UITableView简单的删除功能(左滑出现删除按钮) 首先UITableView需要进入编辑模式。实现下面的方法,即使什么代码也不写也会进入编辑模式:

  • 问题内容: 我所看到的和jQuery的。左右滑动的功能/方式如何? 问题答案: 您可以使用jQueryUI中的其他效果来执行此操作: 快速示例:

  • 谷歌推出了DrawerLayout,当你点击动作栏的“向上”按钮时,它会在屏幕左侧区域显示一个菜单。 因为actionBarSherlock还不支持这个库,所以已经有办法通过这个项目来克服这个问题。 它已经在许多应用程序上有了变种:currents,gmail,hangouts,YouTube... 在“Currents”应用程序(以及youtube)上,当用户从左到右滑动(最左边)页面时,无论手

  • 我搜索了一些滑动示例, 但我仍然找不到从右向左滑动的例子。 请任何一个给样品项目滑动菜单从右到左

  • 我试图将一个视图从右向左滑动,点击一个按钮,它的可见性就消失了,点击另一个按钮,它的可见性就消失了。我尝试了以下解决方案。但是它要求视图是可见的,并且它会将视图从一个位置滑动到另一个位置。我想要一个滑动效果,就像那样,但是要有。我怎样才能做到这一点?