objective-c - Reeder Mac 应用程序在切换文件夹时如何以动画方式显示列表?

标签 objective-c cocoa xcode4 core-animation appkit

最初,我的印象是它在插入/删除新行时使用表格行向上/向下滑动动画,但我怀疑它是否这样做,因为即使列表中有数千个项目,它也会如此流畅(否则它会需要花费很多时间才能进行删除/插入工作)。

我的假设是否正确,它只是在屏幕底部附加新闻列表的一个新实例,缩小上面的实例,同时底部的实例扩展以填满空间?

更新:

请观看这个视频来了解我的意思:http://dl.dropbox.com/u/4960327/ReederAnim.mov

最佳答案

我无法确切地告诉您 Silvio Rizzi 是如何做到这一点的,但是正如您在播放中看到的那样,在显示的 ListView 后面添加了一个 ListView ,并且前面的 ListView 淡出(.alpha = 0.0;),而它后面的 ListView 扩展了每行的高度。

当你一帧一帧地干燥它时,就会很清楚他在做什么,而且确实没有那么先进。但不得不承认,白色的“乳白色”抛光界面,看起来还是挺工整的。

此外,您可以看到,在制作动画时,背景 ListView 仅呈现前 7 个条目(希望通过将 View 高度除以所显示单元格的平均高度来计算),从而使 ListView 能够快速加载。然后,一旦您开始滚动,他就可以加载扩展的单元格数组,或者在动画完成后启动后台线程。

关于objective-c - Reeder Mac 应用程序在切换文件夹时如何以动画方式显示列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10285945/

相关文章:

objective-c - 可变参数之后的参数

iphone - EXC_BAD_ACCESS 错误.. textfield resignFirstResponder

html - 允许用户在 Objective C 中创建和查看 HTML 文件?

ios - 如何增加声音文件(如uiimagefile)的值

macos - 查找当前桌面图片的路径

xcode4 - 如何关闭拆分窗口/相邻编辑器 - Xcode 4

ios - ipa 和 xcarchive 之间的区别?

c - 在 macOS 上使用 Xcode 作为 root 运行应用程序时出现非法指令 (ud2)

ios - 在iPhone App中实现树状 View 结构

iphone - NSURL 应该解析无效的 URL 吗?