不从 MainMenu.xib 加载窗口,而是加载另一个窗口
Posted
技术标签:
【中文标题】不从 MainMenu.xib 加载窗口,而是加载另一个窗口【英文标题】:Not loading the window from the MainMenu.xib, instead load another window 【发布时间】:2013-04-15 09:17:23 【问题描述】:这是我的第一个 Mac OS-X 应用程序,所以这可能是一个愚蠢的问题。 在我的应用中,基本上我有两个窗口,
-
MainMenu.xib文件默认自带的主窗口
我用另一个 xib 文件创建了另一个 WindowController。
我创建了一个连接到 MainMenu.xib 的 AppController 类,我在 AppController 类的 awakeFromNib
方法中尝试加载主窗口或自定义窗口,但加载主菜单每一次。有可能吗?
以前的方式我做不到,如果我需要使用自定义窗口,我会先创建主窗口并立即关闭它。
我试图通过 [[NSApplication sharedApplication]mainWindow];
获取主窗口,然后将其关闭。但是没有成功。
我认为我对可可的窗口、视图和控制器还没有正确的理解。我正在关注 aaron hillegass 的 COCOA Programming for Mac OS X 一书。 请建议我一些其他教程,以便我可以清楚地理解这件事。
【问题讨论】:
Dint 得到你的问题。 当我创建 cocoa 应用程序时,它已经在 MainMenu.xib 文件中附带了一个窗口、菜单功能,我需要根据某些条件加载该窗口或另一个自定义窗口。不是两者。 所以当你建造的时候,你得到了两个窗户? 默认窗口每次都会启动,它有一个带有操作的按钮,用于加载自定义窗口。但我需要在没有按钮的情况下执行此操作,并且不启动主窗口。 所以基本上你不想启动主窗口。您还想通过单击菜单打开第二个窗口。我说的对吗? 【参考方案1】:您需要取消选中“启动时可见”窗口
然后根据您的 BOOL 值,您需要显示窗口并使其成为 orderFront。
【讨论】:
以上是关于不从 MainMenu.xib 加载窗口,而是加载另一个窗口的主要内容,如果未能解决你的问题,请参考以下文章
我们在哪里可以为 MainMenu.xib 编写 windowDidBecomeKey 方法