【问题标题】:Not loading the window from the MainMenu.xib, instead load another window不从 MainMenu.xib 加载窗口,而是加载另一个窗口
【发布时间】:2013-04-15 09:17:23
【问题描述】:

这是我的第一个 Mac OS-X 应用程序,所以这可能是一个愚蠢的问题。 在我的应用中,基本上我有两个窗口,

  1. MainMenu.xib文件默认自带的主窗口
  2. 我用另一个 xib 文件创建了另一个 WindowController

我创建了一个连接到 MainMenu.xib 的 AppController 类,我在 AppController 类的 awakeFromNib 方法中尝试加载主窗口或自定义窗口,但加载主菜单每一次。有可能吗?

以前的方式我做不到,如果我需要使用自定义窗口,我会先创建主窗口并立即关闭它。 我试图通过 [[NSApplication sharedApplication]mainWindow]; 获取主窗口,然后将其关闭。但是没有成功。

我认为我对可可的窗口、视图和控制器还没有正确的理解。我正在关注 aaron hillegass 的 COCOA Programming for Mac OS X 一书。 请建议我一些其他教程,以便我可以清楚地理解这件事。

【问题讨论】:

  • Dint 得到你的问题。
  • 当我创建 cocoa 应用程序时,它已经在 MainMenu.xib 文件中附带了一个窗口、菜单功能,我需要根据某些条件加载该窗口或另一个自定义窗口。不是两者。
  • 所以当你建造的时候,你得到了两个窗户?
  • 默认窗口每次都会启动,它有一个带有操作的按钮,用于加载自定义窗口。但我需要在没有按钮的情况下执行此操作,并且不启动主窗口。
  • 所以基本上你不想启动主窗口。您还想通过单击菜单打开第二个窗口。我说的对吗?

标签: objective-c macos cocoa


【解决方案1】:

您需要取消选中“启动时可见”窗口

然后根据您的 BOOL 值,您需要显示窗口并使其成为 orderFront。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-22
    • 2015-03-01
    • 1970-01-01
    • 2010-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多