同时实现表格的多选删除和左滑删除

原创 2016年06月01日 10:24:20

表格的多选删除和左滑删除同时实现的方法:

要同时实现表格的多选删除和左滑删除,重要的是返回编辑模式的时候判断返回的是多选方法还是删除方法


#pragma mark - 1、点击编辑按钮

- (void)clickEditBtn:(UIButton *)sender{

    sender.selected = !sender.selected;

    [_tableView setEditing:sender.selected animated:YES];

    if (!sender.selected) {

        NSMutableArray *indexAry = [NSMutableArray array];

        for (NSDictionary *dict in _selectedNewsAry) {

            NSUInteger indexRow = [_collectAry indexOfObject:dict];

            NSIndexPath *indexPath = [NSIndexPath indexPathForRow:indexRow inSection:0];

            [indexAry addObject:indexPath];

        }

        //修改数据模型

        [_collectAry removeObjectsInArray:_selectedNewsAry];

        [_selectedNewsAry removeAllObjects];

        //写入userDefaults

        NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];

        [userDefaults setValue:_collectAry forKey:[SettingBll getCollectAryKey]];

        

        //刷新表格

        [_tableView deleteRowsAtIndexPaths:indexAry withRowAnimation:UITableViewRowAnimationFade];

    }

}



//在这里判断

#pragma mark - 2、返回编辑模式

- (UITableViewCellEditingStyle )tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{

    if (_tableView.editing) {

        return UITableViewCellEditingStyleDelete | UITableViewCellEditingStyleInsert;

    }else{

        return UITableViewCellEditingStyleDelete;

    }

    

}


#pragma mark - 3、提交编辑操作

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

//    if (editingStyle != UITableViewCellEditingStyleDelete) {

//        return;

//    }

    [_collectAry removeObjectAtIndex:indexPath.row];

    //储存进去

    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];

    [userDefaults setValue:_collectAry forKey:[SettingBll getCollectAryKey]];

    

    [_tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];

    

}


相关文章推荐

tableView之cell的多选,全选以及左滑删除

刚好在公司做这一块的功能,现在来总结下,可能不是那么完善,以后慢慢再改进. 左滑删除 多选 一种混合的写法(同时有侧滑和多选并自定义多选的图片) 左滑删除#pragma mark 确定是否能编辑(删除...

C#用DataGridView实现多选表格

  • 2015年07月23日 16:36
  • 162KB
  • 下载

iPhone开发之实现UITableView多选删除功能详解

iPhone开发之实现UITableView多选删除功能详解 首先在UITableView的 edittingStyleForRowAtIndexPath函数中,添加如下代码: ...

android ListView实现多选,批量删除

  • 2016年06月07日 20:57
  • 1.55MB
  • 下载

同一个tableview实现多选单选删除

大多初学者对tableview实现删除,点击cell是都能实现的,但对于多选,单选却不是那么理解。。写了一个demo可供参考(不当之处请及时指出)1,在.h文件中声明一个变量type,用于区分进入当前...

Ajax复选框多选删除的实现

AJAX多选删除的思路是通过控制器从后台删除数据,然后前台的数据是不会刷新的,我们需要用JQUERY把前台的数据也删掉。 首先,引用JQUERY 然后,写出一个个的复选框,其中之一是这样 ....

android学习记录(八)实现ListView的长按进入多选删除模式。

今天在仿制一个应用的时候,发现我不会实现listView的长按进入多选这个功能,就找了一下资料。。发现找资料用去的时间还是蛮多的。。。天。理解完之后,自己写了一份代码。        简单来说,就是实...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:同时实现表格的多选删除和左滑删除
举报原因:
原因补充:

(最多只允许输入30个字)