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{

        

    }

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM