在 MainMenu.xib 上打开 NSViewController As Sheet



我用Xib而不是Storyboard打开了新的Cocoa项目。我想在单击"Livelli"按钮时打开工作表视图控制器。按钮"Livelli"位于MainMenu.xib中。

我连接按钮"Livelli"来执行操作并编写了以下代码:

@IBAction func LivelliBtn(sender: AnyObject) {
    window.contentViewController?.presentViewControllerAsSheet(LevelScrollController())
    Swift.print("abc")
}

LevelScrollController 是一个 NSViewController,它将显示一个自定义的 NSView 和关闭自身的按钮。

控制台显示"abc",因此我们需要了解"LivelliBtn"是在单击按钮但没有打开工作表时执行的!

此外,如果我按如下方式编辑函数"LivelliBtn":

@IBAction func LivelliBtn(sender: AnyObject) {
    window.contentViewController = LevelScrollController()
    window.contentViewController?.presentViewControllerAsSheet(LevelScrollController())
    Swift.print("abc")
}

当前视图控制器作为工作表方法工作正常。问题是我更换了背景视图控制器,当我关闭工作表时,我没有返回到以前的视图......

如何在主菜单窗口上显示工作表?

最后,

我导致创建第二个"MainViewController"来取代MainMenu的问题。

在应用程序代表中,我添加了以下行

 func applicationDidFinishLaunching(aNotification: NSNotification) {
    window.contentViewController = MainViewController()
}

其中 MainViewController 是一个视图控制器,它对工作表本身进行分类

最新更新