在UITableView滚动时动画化单元格

时间:2012-02-28 18:02:56

标签: objective-c ios animation uitableview

我正在尝试实现一种效果,其中当桌面视图滚动时,当前可见的单元格将根据它们在屏幕上的位置进行动画处理。我对IOS dev有些新意,所以让我试着把它分解:

  • Tableview加载自定义单元格用户开始滚动
  • 表格处于运动状态,可见单元格中有一个UIView 喜欢执行直接对应单元格的动画 屏幕上的当前Y位置。
  • 细胞只会在它们的时候生成动画 是可见的
  • 单元格动画直接对应于表格运动,即 每当表格视图滚动时,单元格都会动画;一旦 表停止,动画暂停

我想到的一个解决方案是在tableview移动时每一帧更新drawRect。根据图形操作,这可能是非常糟糕的性能。有没有办法在每次更改时抓取当前表位置?我会更适合使用Core Animation吗?

3 个答案:

答案 0 :(得分:2)

如果您想要实现以下内容,这可能会有所帮助: 的 https://github.com/mrugrajsinh/AnimatedTableViewCellDemo

enter image description here

答案 1 :(得分:1)

使您的视图控制器成为UITableView的委托,并使用scrollview Delegate的所有方法。在那里你有很多控件可以开始滚动和结束滚动,在thpse控件中你可以检查uitableview单元格定位。

答案 2 :(得分:0)

你必须成为这个代表:https://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UITableViewDelegate_Protocol/Reference/Reference.html

这是覆盖和动画细胞的方法:

– tableView:willDisplayCell:forRowAtIndexPath: