2

我有一个基本的 Cocoa 应用程序来试用 Swift 和 Storyboard。

该应用程序由 3 个由 管理的主视图组成NSTabViewController,它再次链接到主窗口的“窗口内容”关系。

NSSegmentedControl在窗口的工具栏中添加了一个在 3 个选项卡视图之间切换。

在主窗口控制器中,我为工具栏项添加了在选项卡之间切换的操作方法,但我不知道如何获取对选项卡视图控制器的引用以实际切换选项卡。

我尝试将我的操作方法添加到选项卡视图控制器,但这不起作用,因为如果选项卡视图控制器包含空视图,它可能不在响应者链中(这是一个错误吗?)。

作为一种解决方法,我在选项卡视图控制器中覆盖了 viewDidAppear()。在那里,我得到了 view.window.windowController 的句柄,并在实例变量中设置了对“self”的引用。这有效,但似乎不正确。应该有一种方法可以从窗口控制器到它的内容视图控制器......

窗口控制器和选项卡视图控制器生活在不同的场景中,我无法通过 IBOutlet 连接它们。此外,对于“窗口内容”关系,也没有在窗口控制器上调用任何 segue 方法。

故事板

4

2 回答 2

1

我知道我来得太晚了,也许发布这个问题时它并不存在,但对于登陆这里的任何人来说,它NSWindowController都有一个contentViewController: NSViewController?属性(在 macOS 10.10 中添加,所以我认为是在 2014 年底左右)。

于 2017-05-12T13:34:21.143 回答
0

我主要是 OS X 人,我自己也是 StoryBoards 的新手,但我认为你需要做的是:

  1. 写你的

    -(IBAction)som​​eResponse:(id)sender {}

视图控制器中计划处理该操作的方法。

  1. 连接控件,以便将其操作发送到其 FirstResponder。如果您的视图控制器在响应者链中,它将接收它。
于 2014-12-01T02:29:51.937 回答