在MainMenu.xib上打开NSViewController As Sheet

时间:2016-02-16 01:43:04

标签: xcode swift macos cocoa

我使用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")
}

presentViewControllerAsSheet方法正常工作。问题是我更换了背景视图控制器,当我关闭工作表时,我不会返回上一个视图......

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

1 个答案:

答案 0 :(得分:0)

最后,我导致创建第二个“MainViewController”的问题,它取代了MainMenu。

在AppDelegate中我添加了这行

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

}

其中MainViewController是一个ViewPatroller,它将表单本身分类