我是Cocoa开发的新手,我正在尝试使用我认为是iTunes, iCal, iPhoto, Billings, 1Password, Numbers, Delicious Library等应用共享的"标准"布局来创建UI布局。这种典型的布局可以描述如下:
- 屏幕左侧的"Library"面板,通常用于发现层次结构。这个面板通常覆盖大约四分之一的水平空间。
- Library面板右侧的"Main"面板,大多数UI交互都发生在该面板上。这占用了剩余的水平空间,我们可以在iCal中找到月度日历视图,或者iTunes中的专辑封面和播放列表的平铺。
- 屏幕左下角的一些"实用程序"面板,通常用于其他选项。
是否有一个文档模式来展示如何为这些类型的布局"连接"视图和控制器类的最佳实践?例如,要使用多少视图控制器,使用基于nsdocument的方法是否有意义,一些常见的陷阱等等?这种布局是如此普遍,我很惊讶,似乎没有任何好的参考它。
更新:我忘了说,我可以访问Apple Developer站点,虽然我可以找到Cocoa中不同类的库参考,但我似乎找不到一个好的参考来说明如何将它们整合到我所描述的布局中。
像Aaron Hillegass这样的书和其他的书对于学习Cocoa的基础知识和创建简单的界面(在连接到NSDocument的视图上布置几个控件)是很好的,但是在引导你到我描述的UI布局方面不是很好。
谢谢。
左边的层次视图被称为源视图,您通常会使用NSOutlineView
类创建它。
看一下Apple的SourceView示例代码。它实现了一个源视图,与Finder和其他地方的源视图非常相似,应该会让您有一个很好的开始。
你提到的应用范围如此之广,很难给出一个直接的答案。
一般来说,你称为库的项目通常是一个NSOutlineView(对于层次结构)或一个NSTableView。
主面板实际上取决于其中包含的操作,实用工具面板也是如此。
我的建议是阅读苹果OS x的人机界面指南,它会给你最好的概述如何做事情。除此之外,实际的实现过于依赖于单个程序。