【问题标题】:Cocoa - how do programmatically decide the first window to show?Cocoa - 如何以编程方式决定要显示的第一个窗口?
【发布时间】:2012-09-03 03:32:13
【问题描述】:

刚接触 Cocoa 框架 - 我从 this question here 了解到,第一个窗口是由 info.plist 文件中的设置决定的。

对于我的应用程序,要显示的窗口由一些外部设置决定。如何设置在运行时显示的第一个窗口?

【问题讨论】:

  • 为什么你从那个问题中明白第一个窗口是由偏好设置决定的?它说没有这样的事情。
  • 对不起,我的意思是通过 info.plist 中的设置。我已经更新了问题。

标签: cocoa xcode4


【解决方案1】:

在您的 AppDelegate 类中,您会发现一个名为 - (void)applicationDidFinishLaunching:(NSNotification *)aNotification{} 的方法,您必须创建一个您想要加载和加载窗口的窗口控制器类的实例。

【讨论】:

  • 您到底想要什么,是否加载 MainMenu.xib 以外的窗口?如果是这种情况,在您的项目中,您将在 Supporting files 下找到一个带有您的项目名称 () 的文件,打开它,您会发现“Main nib file base name”将值更改为您的您要加载的新 xib 名称。选项2:如果您使用xcode 4及更高版本,则在项目导航器中选择您的项目->摘要->您将找到一个选项“主界面”单击下拉按钮并选择您要加载的xib名称首先。
【解决方案2】:

以编程方式显示第一个窗口,您需要在 awakeFromNib 或 Appdelegate - (void)applicationDidFinishLaunching:(NSNotification *)aNotification 中设置 makeKeyAndOrderFront 它将首先显示您的决定窗口。

- (void)awakeFromNib
{
    [window makeKeyAndOrderFront:NSApp];

}

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification`
{

     [window makeKeyAndOrderFront:NSApp];

}

【讨论】:

    猜你喜欢
    • 2014-05-21
    • 1970-01-01
    • 1970-01-01
    • 2020-06-03
    • 2011-08-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-28
    • 2018-01-06
    相关资源
    最近更新 更多