[iOS]在tableview中用动画效果改变cell的高度
来源:互联网 发布:一淘和淘宝哪个比较好 编辑:程序博客网 时间:2024/05/22 04:10
我们经常会碰到一些需要动画的地方,比如在TOP的发帖页面中,当我们选中一个文本编辑的cell时,cell的高度会动态的改变。
我们要的效果大概就是如下效果:
当我们选择一个cell的时候,我们就要改变它的高度,并且以动画的形式。
我们该如何实现这个效果呢?我们主要需要使用以下这两个方法:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
两个方法分别控制cell的高度和cell被选中之后会发生的事情。
我们在第一个方法中,需要实现一些我们想要的高度:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {if(该indexPath被选中) {return 60 * 2.0;}return 60;}
而在第二个方法中,我们控制当cell被点击后我们所有希望发生的事情,并且我们今天想要探究的“大明星代码”也在其中~~
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {[tableView deselectRowAtIndexPath:indexPath animated:TRUE];//获取当前indexPath并判断对应的Cell是否被选中 //最神奇的地方!![tableView beginUpdates];[tableView endUpdates];}那么为什么在这里会发生神奇的事情呢?
让我们来重点关注这行代码:[tableViewbeginUpdates];
文档中对这行代码的解释为让TableView产生插入,删除或重新加载cell
看到这里大家应该就恍然大悟了吧?原来当我们点击了一个cell后我们相当于重新加载了一遍我们的tableview,但是却和[tableView reloadata]是完全不一样的风格,reloadData这个方法会让tableView整体重新加载,相当于是作用在tableView上,而beginUpdates只是作用在cell上!
好了,大家应该已经可以看到效果了,如果还是希望可以读到我们全部的代码,可以通过以下链接获取~~
http://www.locassa.com/wp-content/uploads/2011/05/AnimatedTableViewCell.zip
0 0
- [iOS]在tableview中用动画效果改变cell的高度
- 在tableview中用动画效果改变cell的高度
- tableview中用动画效果改变cell的高度
- 动态改变tableview的cell的高度
- TableView 点击cell,改变选中cell的高度
- TableView 点击cell,改变选中cell的高度
- [iOS]TableView的Cell高度自适应
- 【iOS知识学习】_iOS动态改变TableView Cell高度
- 【iOS知识学习】_iOS动态改变TableView Cell高度
- 【iOS知识学习】_iOS动态改变TableView Cell高度
- ios开发笔记之如何让tableView根据文本内容动态改变cell的高度
- IOS-TableView里面cell的显示动画
- iOS 改变TableHeadView的高度,tableView自适应
- IOS 动态改变cell的高度
- IOS 动态改变cell的高度
- iOS 动态改变cell的高度
- IOS TableView Cell出场动画
- 动画效果改变view的高度
- luci的国际化(多语言)
- vim自动补全之搭建
- 纪念博客诞生
- Web前端框架 界面UI框架调查说明
- asp.net MVC中form提交和控制器接受form提交过来的数据
- [iOS]在tableview中用动画效果改变cell的高度
- JAVA类 self study note2
- SRM 551 div2 950(DP, 环形+优化)
- Selenium Tips: CSS Selectors
- 花开花谢,云卷云舒
- dlopen、dlsym的简单使用
- iOS开发-C语言获取汉字拼音首字母
- 可以ping通外网,ping不通内网,同时可以Ping网关,但是外部ping不到IP
- Sicily 1210 二叉树