7

在 OS X 中实现视图之间滑动的最佳方法是什么?这些视图是从带有视图控制器的 nib 初始化的,它们是相同的类类型。为了提供一些背景信息,每个视图都显示当前日期的相关数据。

我想创建一个函数来加载下一个(或上一个)日期的数据。我可以简单地将数据加载到当前视图中,但是我可以使用类似于在 OS X 中的空间之间滑动的动画来做到这一点吗?我想我必须初始化一个新视图,在那里加载数据,然后启动到新视图的滑动转换。

我担心创建所有这些新视图的性能会很差。以下是我考虑过的一些选项来解决这个问题:

  • 创建 NSDate 到 MYViewController 的字典。从此 hashmap 加载和存储每个视图,但这可能会占用大量内存。
  • 创建 MYViewController 的双向链表并加载/存储按顺序标注日期的视图。这也可能会占用大量内存,如果用户跳转到某个日期,缓存将被删除。

有什么想法吗?如果有某种方法可以在当前视图中加载数据,我觉得那将是最好的选择。

谢谢!

4

2 回答 2

0

您是否考虑过只是简单地使用UIScrollView并拥有一个UIViewController来管理所有视图?这是 Ray Wenderlich 网站上的一个很好的教程UIScrollView

http://www.raywenderlich.com/10518/how-to-use-uiscrollview-to-scroll-and-zoom-content

或者,您是否考虑过可能使用水平表视图?这是第三方实现,我在其他 SO 帖子上看到过推荐:

https://github.com/TheVole/Horizo​​ntalTable

编辑

抱歉,我很快就阅读了您的问题,并认为它是针对 iOS 的...

我认为您可能正在寻找类似的东西NSCollectionView(不确定这是否会以水平方式很好地支持屏幕外视图......?)

这是关于它的文档:

https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/NSCollectionView_Class/Introduction/Introduction.html

这是一个关于它的教程:

http://andrehoffmann.wordpress.com/2009/08/29/nscollectionview-tutorial-for-dummies-xcode-3-1-3/

(老实说,没有做过太多的 OSX 开发,所以有点超出我的专业领域......但我祝你好运!)

于 2012-12-21T03:04:41.843 回答
0

Cocoa 视图过渡动画并不是一件容易的事情。这比视图控制器管理要复杂得多。

您需要决定如何达到预期的效果。查看此文档和其他参考资料:Animation Programming Guide for Cocoa

几个月前我做过类似的工作。我的最终解决方案是使用单视图并仅使用图形 API(图像绘制)显示动画效果,因为它比 Core Animation 更简单。

于 2012-12-21T05:38:16.150 回答