最初我的印象是它在插入/删除新行时使用表格行向上/向下滑动动画,但我怀疑它是否这样做,因为即使列表中有数千个项目,它也会如此流畅地执行此操作(否则将需要很多删除/插入工作的时间)。
我的假设是否正确,它只是在屏幕底部附加了一个新的新闻列表实例,缩小了上面的实例,而底部的实例扩展以填充空间?
更新:
请看我的意思这个视频:http: //dl.dropbox.com/u/4960327/ReederAnim.mov
最初我的印象是它在插入/删除新行时使用表格行向上/向下滑动动画,但我怀疑它是否这样做,因为即使列表中有数千个项目,它也会如此流畅地执行此操作(否则将需要很多删除/插入工作的时间)。
我的假设是否正确,它只是在屏幕底部附加了一个新的新闻列表实例,缩小了上面的实例,而底部的实例扩展以填充空间?
更新:
请看我的意思这个视频:http: //dl.dropbox.com/u/4960327/ReederAnim.mov
我无法确切告诉你 Silvio Rizzi 是如何做到这一点的,但正如你在回放中看到的那样,在显示的列表视图后面添加了一个列表视图,并且前面的列表视图淡出 (.alpha = 0.0;) 而后面的列表视图它扩展了每行的高度。
当你逐帧干燥它时,他的所作所为就很清楚了,它确实没有那么先进。但不得不承认,白色的“乳白色”磨光界面,看起来还是挺利落的。
此外,您可以看到,在制作动画时,背景列表视图仅呈现前 7 个条目(希望通过将视图高度除以显示的单元格的平均高度来计算),从而使列表视图可以快速加载。然后,一旦你开始滚动,他就可以加载一个扩展的单元格数组,或者在动画完成后在后台线程中加载。