swift2 从菜单打开窗口

pjngdqdw  于 2022-11-06  发布在  Swift
关注(0)|答案(2)|浏览(224)

如何在Swift2中从Xib文件打开新窗口?我已经创建了新的NSWindowController + xib,但我找不到打开它的方法?

@IBAction func openPreferences(sender: NSMenuItem) {
    let wc = SettingsViewController()
    //...
}
7rfyedvj

7rfyedvj1#

我知道这个问题是三年前的,但它在一些谷歌搜索的顶部,所以我认为它需要一个答案,专门解决原来的问题。
基本上,要使其正常工作,您需要将代码更改为:

@IBAction func openPreferences(sender: NSMenuItem) {
    let wc = SettingsViewController(windowNibName: NSNib.Name("NameOfXib"))
    wc.showWindow(nil)
}
plicqrtu

plicqrtu2#

我已经决定使用自定义的故事板,而不是Xib与NSView。所以这里我的代码。
AppDelegate.swift:

class AppDelegate: NSObject, NSApplicationDelegate {
    lazy var settingsController: NSWindowController? =
        NSStoryboard(name: "SettingsStoryboard", bundle: nil).instantiateControllerWithIdentifier("SettingsWC")
        as? NSWindowController

    @IBAction func openPreferences(sender: NSMenuItem) {
        if let controller = settingsController { controller.showWindow(self) }
    }

}

相关问题