UITableView: 刷新视图、插入行、更新行的两种方式
来源:互联网 发布:dll编程书籍 编辑:程序博客网 时间:2024/03/29 21:29
需求:点击一行cell-1,在其下方插入一个新的cell(datePicker)来选择时间。
在 -cellForRowAtIndexPath 方法中加入判断,对不同行显示内容进行设置,同时设置布尔变量isVisible对显示和隐藏状态进行控制。
点击cell-1时,调用showDatePicker 方法, isVisible = YES, 并显示cell,显示cell 有两种实现方式,一种是直接[tableView reloadData]; 因为在 cellForRow 和 numberOfRows 两个方法中,都对cell进行了设置。 另一种方法调用 reloadRowsAtIndexPath 和 insertRowsAtIndexPath如下:
- (void)showDatePicker {_datePickerVisible = YES;NSIndexPath *indexPathDatePicker = [NSIndexPath indexPathForRow:2 inSection:1];[self.tableView beginUpdates];[self.tableView insertRowsAtIndexPaths:@[indexPathDatePicker] withRowAnimation:UITableViewRowAnimationFade];UITableViewCell *datePickerCell = [self.tableView cellForRowAtIndexPath:indexPathDatePicker];[self.tableView reloadRowsAtIndexPaths:@[indexPathDateRow] withRowAnimation:UITableViewRowAnimationNone];[self.tableView endUpdates];UIDatePicker *datePicker = (UIDatePicker *)[datePickerCell viewWithTag:100];[datePicker setDate:_dueDate animated:NO];}
这种方式可以对显示过程添加动画,并且在行数较多时,节省系统资源。
0 0
- UITableView: 刷新视图、插入行、更新行的两种方式
- UITableView ,UICollectionView,视图刷新的时候用
- Oracle更新的两种方式(merge/update内联视图)
- 局部刷新的两种实现方式
- 下来刷新的两种方式
- hibernate映射视图的两种方式
- IOS加载视图的两种方式
- 正确获得最新插入行的标识
- Handsontable不允许插入行的处理
- mysql 获取刚插入行的id
- 获取 刚才插入行的 id
- uitableview 两种设置重用cell的方式
- iOS开发之UITableView添加数据源的两种方式
- 手工刷新物化视图的两种方法
- 等值更新的两种方式
- Android 更新UI的两种方式
- 删除UITableView 行的两种方法
- JTable的添加行插入行以及JTable的单击和双击事件
- 分析与设计(A&D)简介(1)
- 软件评测师——计算机网络1
- UVa 12096 The SetStack Computer
- PHP操作Excel表格浅析
- [LeetCode]--283. Move Zeroes
- UITableView: 刷新视图、插入行、更新行的两种方式
- 最短路
- 【codevs 4906】删数问题
- 用Python 实现的九种排序算法
- Python 字典setdefault()
- HTML进度条动画
- CSS 深入理解absolute
- Java web 写一个注册登录界面,Sql 10
- 图的实现——正邻接表&逆邻接表