ios 实现在tableViewCell上面添加长按手势 删除该条cell以及列表后台数据等

Posted 孙富有(iOS工程师)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios 实现在tableViewCell上面添加长按手势 删除该条cell以及列表后台数据等相关的知识,希望对你有一定的参考价值。

自己的代码  需要   把属性更改成自己要使用的

//创建长按手势

    在cellForRowAtIndexPath代理方法中

                UILongPressGestureRecognizer *longPressGR = [[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(lpGR:)];

                //设定最小的长按时间 按不够这个时间不响应手势

                longPressGR.minimumPressDuration = 1;

                [cell addGestureRecognizer:longPressGR];

//实现手势对应的功能

-(void)lpGR:(UILongPressGestureRecognizer *)lpGR

{

    if (lpGR.state == UIGestureRecognizerStateBegan) {//手势开始

        CGPoint point = [lpGR locationInView:self.tbFirst];

        self.index = [self.tbFirst indexPathForRowAtPoint:point]; // 可以获取我们在哪个cell上长按

        self.indexNum = self.index.row;

    }

    if (lpGR.state == UIGestureRecognizerStateEnded)//手势结束

    {

        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"是否删除" message:nil delegate:self cancelButtonTitle:@"确认" otherButtonTitles:@"取消", nil];

        [alert show];

    }

}

 //提示框代理方法

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{

    if (buttonIndex == 0) {

        NSDictionary * dic = self.hopeDs[self.indexNum];

        NSString *url = [NSString stringWithFormat:@"%@%@",JJBaseUrl,@"/v1/infomarket/delPost"];

        NSMutableDictionary *params = [NSMutableDictionary dictionary];

        params[@"postId"] = dic[@"id"];

        params[@"ticket"] = [JJUserInfoModel userInfoFromFile].ticket;

        [JJHttpTools deleteUrl:url params:params success:^(id json) {

            [JJMBProgressTool showSuccessProgressViewWithText:@"已删除"];

            [self.hopeDs removeObjectAtIndex:self.indexNum];

            //删除列表内容

            [self.tbFirst deleteRowsAtIndexPaths:[NSArray arrayWithObject:self.index] withRowAnimation:UITableViewRowAnimationFade];

        } failure:^(NSError *error) {

            

        }];

    }else{

        

    }

}

 

以上是关于ios 实现在tableViewCell上面添加长按手势 删除该条cell以及列表后台数据等的主要内容,如果未能解决你的问题,请参考以下文章

ios 7 - 自定义 UIMenuItem 在 TableViewCell 上不起作用

ios tableviewcell 怎么刷新界面

IOS Swift 5 为动态高度 TableView 单元添加自定义 TableViewCell 分隔符

无法单击 iOS 14 中 TableViewCell 内的按钮 [重复]

iOS-tableViewCell选中时背景颜色消失问题

在 iOS 中实现动态 tableViewCell 的最佳方法