[tableView beginUpdates]动画块

转载 2017年01月03日 11:21:18
我们在做UITableView的修改,删除,选择时,需要对UITableView进行一系列的动作操作。
这样,我们就会用到

 [tableView beginUpdates];

        if (newCount<=0) {

            [tableView deleteSections:[NSIndexSet indexSetWithIndex:indexPath.section]withRowAnimation:UITableViewRowAnimationLeft];

        }

        

        [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]withRowAnimation:UITableViewRowAnimationLeft];

        [tableView endUpdates];


向上面一段代码,就是动态删除UITableView UITableViewCell的操作。
因为,如果我们的UITableView是分组的时候,我们如果删除某个分组的最后一条记录时,相应的分组也将被删除。所以,必须保证UITableView的分组,和cell同时被删除。
所以,就需要使用beginUpdates方法和endUpdates方法,将要做的删除操作“包”起来!

beginUpdates方法和endUpdates方法是什么呢?

 

这两个方法,是配合起来使用的,标记了一个tableView的动画块。

分别代表动画的开始开始和结束。

两者成对出现,可以嵌套使用。

一般,在添加,删除,选择 tableView中使用,并实现动画效果。

在动画块内,不建议使用reloadData方法,如果使用,会影响动画。

 


一般什么时候使用这么一个动画块呢?

一般在UITableView执行:删除行,插入行,删除分组,插入分组时,使用!用来协调UITableView的动画效果。

插入指定的行,

在执行该方法时,会对数据源进行访问(分组数据和行数据),并更新可见行。所以,在调用该方法前,应该先更新数据源

- (void)insertRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation


插入分组到制定位置

- (void)insertSections:(NSIndexSet *)sections withRowAnimation:(UITableViewRowAnimation)animation

插入一个特定的分组。如果,指定的位置上已经存在了分组,那么原来的分组向后移动一个位置。


删除制定位置的分组

- (void)deleteSections:(NSIndexSet *)sections withRowAnimation:(UITableViewRowAnimation)animation

删除一个制定位置的分组,其后面的分组向前移动一个位置。


移动分组

- (void)moveSection:(NSInteger)section toSection:(NSInteger)newSection

移动原来的分组从一个位置移动到一个新的位置。如果,新位置上若存在某个分组,那这某个分组将会向上(下)移动到临近一个位置。该方法,没有动画参数。会直接移动。并且一次只能移动一个分组。


在如上方法中,建议使用该动画块进行操作!

希望对你有所帮助!

beginUpdates和endUpdates 实现UITableView的动画块

我们在做UITableView的修改,删除,选择时,需要对UITableView进行一系列的动作操作。 (以下是删除动画效果) 这样,我们就会用到 - (void)tableView:(...

beginUpdates和endUpdates-实现UITableView的动画块

我们在做UITableView的修改,删除,选择时,需要对UITableView进行一系列的动作操作。 这样,我们就会用到  [tableView beginUpdates]; ...

UITableView beginUpdates和endUpdates-实现UITableView的动画块

我们在做UITableView的修改,删除,选择时,需要对UITableView进行一系列的动作操作。 这样,我们就会用到  [tableView beginUpdates]; ...

beginUpdates和endUpdates---实现UITableView的动画块

我们在做UITableView的修改,删除,选择时,需要对UITableView进行一系列的动作操作。 这样,我们就会用到  [tableView beginUpdates];       ...

tableview小动画

  • 2015年01月27日 11:53
  • 38KB
  • 下载

iOS知识树,知识目录(包括对象、Block、消息转发、GCD、运行时、runloop、动画、Push、KVO、tableview,UIViewController、提交AppStore)

本文旨在总结iOS知识网络,该知识网络罗列出常见UIKit,Foundation的对象特点和一些使用经验;文本编辑采用树的形式,对知识点进行罗列,并标注一些使用经验(★)希望对初学者有用或给一些解决疑...

[iOS]在tableview中用动画效果改变cell的高度

使用动画改编UITableView中某个cell的高度

iOS开发-OC之知识树,知识点(包括对象、Block、消息转发、GCD、运行时、runloop、动画、Push、KVO、tableview,UIViewController、提交AppStore)

本文旨在总结iOS知识网络,知识点,该知识网络罗列出常见UIKit、Foundation的对象特点和一些使用经验,可以看成是一本书;文本编辑采用树的形式,对知识点进行罗列,并标注一些使用经验(★)希望...

tableView 下拉刷新动画demo

跟练了一个tableView 下拉刷新动画demo,实现思路大致如下: demo下载路径: https://github.com/Joeyechang/MyPullToRe...

tableview加入局部刷新动画reloadRowsAtIndexPaths:后出现的坑

最近项目出了个需求,需要点击tableview的sectionheader的时候动画展开和收起section下的cell,所以利用苹果自带的tableview方法实现这个效果: 点击heade...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[tableView beginUpdates]动画块
举报原因:
原因补充:

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