我刚开始使用界面生成器,我想创建一个类似于设计的选项卡式单窗口应用程序,即Coda或Versions。如何使用可可和界面构建器创建一个窗口应用程序?
但是,我不知道我应该采取什么方法。我想我可能需要创建自己的标签栏和某种控制器来加载/卸载不同的“视图”,但是个人的“视图”应该是什么?
这是创建多个窗口并以某种方式在父窗口中加载它们的情况,还是应该切换一堆自定义视图的可见性,还是存在完全不同的方法?
我刚开始使用界面生成器,我想创建一个类似于设计的选项卡式单窗口应用程序,即Coda或Versions。如何使用可可和界面构建器创建一个窗口应用程序?
但是,我不知道我应该采取什么方法。我想我可能需要创建自己的标签栏和某种控制器来加载/卸载不同的“视图”,但是个人的“视图”应该是什么?
这是创建多个窗口并以某种方式在父窗口中加载它们的情况,还是应该切换一堆自定义视图的可见性,还是存在完全不同的方法?
Cocoa中一组视图之间切换的标准方法是使用NSTabView
。您可以将setTabViewType:
改为NSNoTabsNoBorder
以完全隐藏标签,并仅使用标签视图切换视图。如果将选项卡视图放入窗口的内容视图中,并调整自动调整大小,则选项卡视图会切换整个窗口内容。
您可以使用自定义的工具栏项目来激活单个选项卡。
这就是我怎么做的:
对于我做了单独的笔尖每个视图,和ViewController(SomethingViewController:NSViewController)。在笔尖中,我将“文件所有者”设置为SomethingViewController。
浏览器自动加载笔尖:
- (id) init { if(self = [super initWithNibName:@"HistoryTab" bundle:nil]) { [self loadView]; } return self; }
我只是创建视图控制器的实例。
要创建标签像科达你需要编写一些代码或使用BWToolkit
对不起,我的英语;)
编辑:
我会忘了 - 在主窗口中我有MAINVIEW视图,并加载视图控制器后,我只是做应用程序控制器:
[self.mainView addSubview:[viewController view]];
当SWIT清选项卡我:
[[viewController view] removeFromSuperlayer];
很好的答案,但我想我会去与NSTabView。干杯。 – gargantuan 2010-01-29 15:41:30