在OS X中实现视图之间滑动的最佳方法是什么?

jp.*_*r63 7 macos cocoa objective-c

在OS X中实现视图之间滑动的最佳方法是什么?这些视图是使用它们的视图控制器从nib初始化的,它们是相同的类类型.为了给出一些背景知识,每个视图显示当前日期的相关数据.

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

我担心创建所有这些新视图的表现会非常糟糕.以下是我考虑过的一些选项:

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

有什么想法吗?如果有一些方法可以在当前视图中加载数据,我觉得这是最好的选择.

谢谢!

JRG*_*per 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 开发,所以有点超出了我的专业领域……但祝你好运!)