【问题标题】:Open NSWindow from xib while using storyboards and swift在使用情节提要和 swift 时从 xib 打开 NSWindow
【发布时间】:2016-05-04 15:21:23
【问题描述】:

我正在使用故事板和 swift。 现在我正在尝试打开一个新的 NSWindow ,它包含在一个 xib 文件中。 (我创建了一个包含 NSWindow 的新 xib 文件)

我已将以下代码添加到我的项目中,但它没有打开任何窗口。

let controller = NSWindowController(windowNibName: "xibFile")
controller.showWindow(self)

我确定我做错了什么

print(controller.window?.title)

也不会给我来自 xib 文件的正确窗口标题。

希望任何人都可以提示我做错了什么。谢谢!

【问题讨论】:

  • 你的 xib 窗口有自定义类还是只有 NSWindowController?你在哪里触发controller.showWindow(self)?是在 AppDelegate 里面吗?

标签: swift cocoa xib nswindow


【解决方案1】:

在你的第二个笔尖:

class SecondNibController: NSWindowController {
    override var windowNibName: String? {
        return "SecondNib" // no extension .xib here
    }
}

记得将SecondNibConntrollerwindow插座连接到您的窗口。

在您的主故事板中:

class ViewController: NSViewController {
    let secondNibController = SecondNibController()

    @IBAction func openSecondWindow(sender : AnyObject) {
        secondNibController.showWindow(nil)
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-02
    • 2019-09-02
    • 2013-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-30
    相关资源
    最近更新 更多