objective-c - 在 OS X 中实现 View 之间滑动的最佳方法是什么?

标签 objective-c macos cocoa

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

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

我担心创建所有这些新 View 的性能会很差。以下是我考虑过的一些解决方案:

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

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

谢谢!

最佳答案

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

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

或者,您是否考虑过使用水平表格 View ?这是第三方实现,我在其他 SO 帖子中看到了推荐:

https://github.com/TheVole/HorizontalTable

编辑

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

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

这是它的文档:

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 开发,所以有点超出我的专业领域......不过祝你好运!)

关于objective-c - 在 OS X 中实现 View 之间滑动的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13962712/

相关文章:

ios - Xcode 6 : can't connect any IBOutlet to ViewController

c++ - 如何让Flycheck(使用clang_complete)识别Mojave上的OpenGL框架

objective-c - 等效键删除在 cocoa 应用程序中不起作用

swift - measure() 测试通常如何用于性能单元测试?

cocoa - Sparkle 框架问题(未显示正确的版本)

objective-c - UIActivityIndi​​cator 没有动画

ios - 在 iOS 中停止动画

objective-c - NSGraphicsContext currentContext 返回 nil

macos - 如何让 NSTableView 将自定义单元格 View 与预设单元格 View 混合使用?

macos - 在 Mac OS X 终端中使用命令作为 ctrl