博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UITableView多选删除,类似mail中的多选删除效果
阅读量:4110 次
发布时间:2019-05-25

本文共 1495 字,大约阅读时间需要 4 分钟。

第一步,实现-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath  
    return UITableViewCellEditingStyleDelete | UITableViewCellEditingStyleInsert; 
UITableViewCellEditingStyleDelete是出现红的减号,再点一下就出来划动时出现的删除钮;UITableViewCellEditingStyleInsert是出现红的加号应该是插入数据的时候用的吧,没细研究,最神奇的是两个同时出现就出现了前面带圈的多选项.
第二步,调出前面带圈的多选项.其实就是调用[self.tableview setEditing:YES animated:YES]啦,隐藏的话就setEditing:NO
第三步,实现记录选择或者取消的项.笔者竟然没有找到实现这个功能的专门的方法,没办法了,自己折中实现一下喽.
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {  
    if (rightButton.title== @"确定") { 
        [deleteDic setObject:indexPath forKey:[dataArray objectAtIndex:indexPath.row]]; 
         
    } 
    else { 
         
    } 
 
- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath{ 
    if (rightButton.title == @"确定") { 
        [deleteDic removeObjectForKey:[dataArray objectAtIndex:indexPath.row]]; 
    } 
     
一个是多选状态下添加刚选择的项,一下移除刚取消的项.哎,真复杂.
第四步,得到想删除的项了,处理一下呗
[dataArray removeObjectsInArray:[deleteDic allKeys]];  
[self.tableview deleteRowsAtIndexPaths:[NSArray arrayWithArray:[deleteDic allValues]] withRowAnimation:UITableViewRowAnimationFade]; 
[deleteDic removeAllObjects]; 
好啦,搞定,看一下效果图.

首先得到一个列表.

点击编辑,出现选择框.

选择想要删除的项.
 

点删除.

删除以后的效果.

转载地址:http://fnosi.baihongyu.com/

你可能感兴趣的文章
nc 命令详解
查看>>
如何使用 systemd 中的定时器
查看>>
git命令速查表
查看>>
linux进程监控和自动重启的简单实现
查看>>
OpenFeign学习(三):OpenFeign配置生成代理对象
查看>>
OpenFeign学习(四):OpenFeign的方法同步请求执行
查看>>
OpenFeign学习(五):OpenFeign请求结果处理及重试控制
查看>>
OpenFeign学习(六):OpenFign进行表单提交参数或传输文件
查看>>
OpenFeign学习(七):Spring Cloud OpenFeign的使用
查看>>
Ribbon 学习(二):Spring Cloud Ribbon 加载配置原理
查看>>
Ribbon 学习(三):RestTemplate 请求负载流程解析
查看>>
深入理解HashMap
查看>>
XML生成(一):DOM生成XML
查看>>
XML生成(三):JDOM生成
查看>>
Ubuntu Could not open lock file /var/lib/dpkg/lock - open (13:Permission denied)
查看>>
collect2: ld returned 1 exit status
查看>>
C#入门
查看>>
查找最大值最小值
查看>>
杨辉三角
查看>>
C#中ColorDialog需点两次确定才会退出的问题
查看>>