您的位置:首页 > 移动开发 > IOS开发

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

2016-12-23 17:39 591 查看
自己的代码 需要 把属性更改成自己要使用的

//创建长按手势

    在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{

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐