从函数打开 NSViewController。菜单栏应用

And*_*yer 1 macos function nsviewcontroller nsmenuitem swift

我正在尝试从按下 NSMenuItem 时启动的函数打开 NSViewController。

func settings (sender: NSStatusBarButton) {

    //open NSViewController here?

}
Run Code Online (Sandbox Code Playgroud)

vad*_*ian 5

假设NSWindowController包含要打开的窗口具有 Storyboard IDSettings并且NSViewController具有自定义类SettingsController禁用Visible At Launch关联窗口的选项并使用此代码

var windowController : NSWindowController!
Run Code Online (Sandbox Code Playgroud)
let mainStoryBoard = NSStoryboard(name: "Main", bundle: nil)
windowController = mainStoryBoard.instantiateController(withIdentifier: "Settings") as! NSWindowController
let settingsController = windowController.window!.contentViewController as! SettingsController
// make initial settings before showing the window
windowController.showWindow(self)
Run Code Online (Sandbox Code Playgroud)