gpt4 book ai didi

xcode - 如何为基于 xib(而非基于 Storyboard)的应用程序创建 NSWindowController?

转载 作者:行者123 更新时间:2023-12-05 06:35:07 25 4
gpt4 key购买 nike

我有一个应用程序不是基于 Storyboard,而是基于 xib 文件。 Main.xib 包含主应用程序窗口。然而,它只是一个窗口。没有 NSWindowController。怎么加一个?

最佳答案

好的,明白了。您只需将一个新对象添加到场景中,将其类更改为您希望它使用的任何 NSWindowController 子类,将窗口附加到其输出,然后设置一个输出来保存窗口 Controller 本身。我推荐应用委托(delegate)。

我更进一步,将窗口更改为在启动时显示,并且我从 App Delegate 中删除了窗口(因为它现在引用了窗口 Controller ,因此窗口已经间接地)。这样我就可以在实际显示之前将窗口居中。

唯一需要注意的是,您不会获得窗口加载覆盖,因为窗口已交给 VC 而不是由它加载,因此您需要仅在设置窗口时运行任何代码,只需覆盖窗口变量并添加一个 didSet 部分。就像一个魅力!

不过,我可能会尝试更深入地研究,看看我是否可以更新窗口 Controller 以正常加载窗口,以便我可以按设计获取这些事件。

关于xcode - 如何为基于 xib(而非基于 Storyboard)的应用程序创建 NSWindowController?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49838711/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com