我遇到的问题是,当首选项窗口打开然后关闭时,它不会再次打开。为什么会发生这种情况,如何解决?
编辑:我也注意到主窗口也有同样的问题。
该窗口正在通过菜单栏打开,并且位于单独的 NIB 文件中。
我遇到的问题是,当首选项窗口打开然后关闭时,它不会再次打开。为什么会发生这种情况,如何解决?
编辑:我也注意到主窗口也有同样的问题。
该窗口正在通过菜单栏打开,并且位于单独的 NIB 文件中。
听起来您忘记将窗口控制器的“窗口”出口(在 Nib 中,文件的所有者)设置为指向您的窗口。一旦你连接了它的“窗口”插座,窗口控制器的 showWindow: 方法就会起作用。
很难说没有看到代码,但一种可能性是您在 Interface Builder 中检查了窗口的“关闭时释放”,并且您加载它一次,缓存它,然后期望能够关闭并重新打开它无需再次从笔尖加载。
对于像我这样的其他菜鸟,有这个问题:)
不要忘记将文件的所有者类设置为与控制器类相同,然后您可以将“窗口”插座连接到面板。
我在 Aaron Hillegass 的 Cocoa Programming for Mac OS X 书中的第 12 章(Nib 文件和 NSWindowController)练习中遇到了同样的问题。Doug 上面的回答是解决方案——我没有将 Preferences.xib 文件所有者的窗口出口链接到窗口本身(在本例中为 Panel (Preferences) 窗口)。
我右键单击 Preferences.xib 文件中的“文件所有者”,然后将鼠标左键从窗口出口拖到面板(首选项)。完成并重建后,应用程序按预期工作。我可以关闭并重新打开自定义首选项面板,并且我以前的设置仍然存在(因为首选项窗口没有卸载只是隐藏)。