2

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

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

像这样的东西

ViewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController: ViewController animated:YES];

我该怎么做???

4

2 回答 2

5

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

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

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

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

于 2011-07-20T22:44:12.713 回答
0

这里苹果讨论了将 iOS 迁移到 OS X 的策略。您的场景也在这里讨论:

例如,AppKit 使用 NSBrowser 类来管理分层信息的显示;相反,iOS 应用程序将使用导航控制器。

并且可以看到 NSBrowser 在此处使用,其输出如附图所示。

在此处输入图像描述

于 2015-03-28T14:41:55.457 回答