第一个 mac 应用程序 - 推送视图控制器

fra*_*ica 2 macos cocoa nsviewcontroller

我有一个问题,我做了一些 iphone 应用程序,现在我想做一个小 mac 应用程序。

从一个干净的应用程序中,我在 MainMenu xib 上添加了一个按钮,然后将 NSViewController 添加到 MainMenu(来自 IB)和一个 Action。我用一个 nib 文件和一个按钮创建了一个新的 NSViewController (FirstViewController)。现在我只想创建一个从 MainMenu 推送 FirstController 的函数和一个从 FirstController 推送 MainMenu 的简单函数。

像这样的东西

ViewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController: ViewController animated:YES];
Run Code Online (Sandbox Code Playgroud)

我该怎么做???

Cal*_*leb 5

我认为您正在尝试为 MacOS X 带来 iOS 风格的界面,但这在很多情况下都行不通。MacOS X 的用户界面与 iOS 的用户界面非常不同。

iOS 应用程序仅限于单个(通常很小)窗口,用户通常一次只做一件事。导航界面标准化了用户向下钻取任务不同部分的方式,以便可以预测旅程。从用户不断在应用程序的不同部分之间导航的意义上说,界面是非常模态的,并且用户操作通常与应用程序的活动部分相关联。

另一方面,桌面有足够的屏幕空间并允许多个窗口。桌面应用程序应该是无模式的——用户不会在应用程序中导航,而是看到摆在他或她面前的整个事物。尽可能地,用户应该能够随时执行任何操作。

由于这些原因,Cocoa 中没有类似于 Cocoa Touch 的 UINavigationController 的导航控制器。如果您能告诉我们更多关于您的两个视图控制器管理的任务的信息,也许这里有人会帮助您想办法将其更好地转化为预期的桌面体验。