Cell左滑时无法响应左滑按钮点击事件的定位

在实现UITableView左滑编辑删除功能时,由于使用了防止按钮重复点击的分类,导致左滑按钮无法正常响应。问题在于左滑按钮的响应方法 '_pressedButton:' 被重复点击限制影响。解决办法是在自定义的按钮响应方法中,针对 '_pressedButton:' 事件直接执行,跳过重复点击检查,从而恢复左滑按钮的点击功能。
摘要由CSDN通过智能技术生成

刚开始,开发一个新功能,需要用到左滑编辑,删除功能。代码如下:

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {

    //第二组可以左滑删除

    if (indexPath.section == 0) {

        return YES;

    }

    return NO;

}

/**

* 只要实现了这个方法,左滑出现按钮的功能就有了

* (一旦左滑出现了N个按钮,tableView就进入了编辑模式, tableView.editing = YES)

*/

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

    

}

 

/**

*  左滑cell时出现什么按钮

*/

- (NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath {

    __weak typeof(self) weakSelf = self;

    UITableViewRowAction *actionEdit = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"编辑" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) {

        NSLog(@"点击了编辑");

        // 收回左滑出现的按钮(退出编辑模式)

        tableView.editing = NO;

        [weakSelf editSubscribeInfoAction:indexPath];

    }];

    

    NSInteger row = indexPath.row;

    NSString *title = @"显示";

    if (self.dataArray.count > row) {

        LFGetSubScribeByListOutputModel *model = self.dataArray[row];

        if ([model.state isEqualToString:@"0"]) {

            title = @"隐藏";

        }

    }

    

    UITableViewRowAction *actionHide = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:title handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) {

        NSLog(@"点击了隐藏");

        // 收回左滑出现的按钮(退出编

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值