在使用情节提要和 swift 时从 xib 打开 NSWindow
Posted
技术标签:
【中文标题】在使用情节提要和 swift 时从 xib 打开 NSWindow【英文标题】:Open NSWindow from xib while using storyboards and swift 【发布时间】: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 里面吗?
【参考方案1】:
在你的第二个笔尖:
class SecondNibController: NSWindowController
override var windowNibName: String?
return "SecondNib" // no extension .xib here
记得将SecondNibConntroller
的window
插座连接到您的窗口。
在您的主故事板中:
class ViewController: NSViewController
let secondNibController = SecondNibController()
@IBAction func openSecondWindow(sender : AnyObject)
secondNibController.showWindow(nil)
【讨论】:
以上是关于在使用情节提要和 swift 时从 xib 打开 NSWindow的主要内容,如果未能解决你的问题,请参考以下文章
使用 Swift 3 Xcode 8 加载时缺少自定义 XIB
我在 xib(加载 xib)的帮助下创建了项目,现在我想在特定的按钮选项卡中添加情节提要并打开情节提要