iOS中UITableView的编辑状态多选
2017-01-25 18:21
387 查看
开发工作中经常遇到列表编辑多选功能,UITableView其实自带的有多选功能,使用起来方便,不需要自己做选中状态,效果:
获取多选cell的位置信息:
打印结果:
数组结果里是按照选中的顺序存储的数据。
然后是全选和全不选的操作,以下都是在单section情况下:
全选:
遍历一遍数据源 然后选中每一条:
全不选:
全不选,reload就可以变为全不选状态了,如果不想reload这样简单粗暴的,也可以取出当前选中的indexpath数组,遍历反选也可以。
引用文章:www.jianshu.com/p/a6e4cb42dd03
UITableView相关方法使用详细介绍:
http://www.jianshu.com/p/7680f1432fee
引用文章地址
UITableView相关方法使用详细介绍
获取多选cell的位置信息:
``` 在 didSelectRowAtIndexPath:方法里获取并打印选中cell的位置信息: ```- (void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath { NSArray*selectCells = [tableView indexPathsForSelectedRows]; NSLog(@"------%@",selectCells); } <div class="se-preview-section-delimiter"></div>
打印结果:
" {length = 2, path = 0 - 2}", " {length = 2, path = 0 - 4}", " {length = 2, path = 0 - 7}", " {length = 2, path = 0 - 10}", " {length = 2, path = 0 - 8}", " {length = 2, path = 0 - 6}" ) <div class="se-preview-section-delimiter"></div>
数组结果里是按照选中的顺序存储的数据。
然后是全选和全不选的操作,以下都是在单section情况下:
全选:
遍历一遍数据源 然后选中每一条:
- (void)allSelectAction:(UIButton*)sender { [self.dataSourceenumerateObjectsUsingBlock:^(id_Nonnullobj,NSUIntegeridx,BOOL*_Nonnullstop) { [self.tableViewselectRowAtIndexPath:[NSIndexPathindexPathForRow:idxinSection:0]animated:NOscrollPosition:UITableViewScrollPositionNone]; }]; } <div class="se-preview-section-delimiter"></div>
全不选:
全不选,reload就可以变为全不选状态了,如果不想reload这样简单粗暴的,也可以取出当前选中的indexpath数组,遍历反选也可以。
- (void)allUnSelectAction:(UIButton*)sender { [[self.tableViewindexPathsForSelectedRows]enumerateObjectsUsingBlock:^(NSIndexPath*_Nonnullobj,NSUIntegeridx,BOOL*_Nonnullstop) { [self.tableViewdeselectRowAtIndexPath:objanimated:NO]; }]; }
引用文章:www.jianshu.com/p/a6e4cb42dd03
UITableView相关方法使用详细介绍:
http://www.jianshu.com/p/7680f1432fee
![全选](http://upload-images.jianshu.io/upload_images/2215798-b165034b8805c5cc.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
全不选:
全不选,reload就可以变为全不选状态了,如果不想reload这样简单粗暴的,也可以取出当前选中的indexpath数组,遍历反选也可以。
```//全不选按钮事件
- (void)allUnSelectAction:(UIButton*)sender { [[self.tableViewindexPathsForSelectedRows]enumerateObjectsUsingBlock:^(NSIndexPath*_Nonnullobj,NSUIntegeridx,BOOL*_Nonnullstop) { [self.tableViewdeselectRowAtIndexPath:objanimated:NO]; }]; }
引用文章地址
UITableView相关方法使用详细介绍
相关文章推荐
- ios 8 UITableView 编辑删除状态不点击“删除”,页面假死临时解决方案
- IOS 表视图(UITableVIew)的使用方法(8)表视图的编辑功能(多选)
- IOS 表视图(UITableVIew)的使用方法(5)表视图的编辑功能(删除)
- ios学习记录 day34 UI10+ UITableView编辑
- UITableView编辑状态下只显示排序图标
- iOS Programming 学习笔记 - 04 UITableView编辑模式
- IOS 表视图(UITableVIew)的使用方法(6)表视图的编辑功能(新增Add)
- iphone开发 有关 Navigation Bar 和 UITableView 的用法(Navigation Bar 的edit 按钮 自定义实现编辑状态)
- iOS UITableView 移除单元格选中时的高亮状态
- UITableView处于编辑状态所在页面消失的时候崩溃
- iOS UITableView 移除单元格选中时的高亮状态
- IOS 表视图(UITableVIew)的使用方法(7)表视图的编辑功能(拖拉调整排序位置)
- iOS疯狂详解之UITableView的全选和多选功能
- UITableView的编辑操作(移动&添加&删除-单选删除,或多选删除)
- iOS UItableView可以编辑
- iOS UITableView 移除单元格选中时的高亮状态
- IOS中判断uitableview是否处于滚动状态
- tableview 编辑状态下,UITableViewCellEditingStyleDelete | UITableViewCellEditingStyleInsert 多选的时候,替换圆圈图片
- IOS-UITableView编辑模式示例
- iOS UITableView 移除单元格选中时的高亮状态