首页 > 代码库 > ios 实现在tableViewCell上面添加长按手势 删除该条cell以及列表后台数据等
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以及列表后台数据等