NSWindow的可可事件是什么告诉NSWindow现在在首次运行后显示?

时间:2013-02-12 04:55:50

标签: objective-c macos cocoa

我需要在首次运行后显示主窗口后立即显示工作表对话框。如果我在init中执行或从nib中唤醒,它似乎无法正常工作(如果我在init方法中执行,则表单显示为从主窗口分离的窗口)。我猜我必须在父窗口显示后显示工作表。我有一个appcontroller类,它有一个窗口指针。所以我想我需要注册成为委托或窗口的东西?并实现一些接收该呼叫的方法? 谢谢,

2 个答案:

答案 0 :(得分:2)

没有可靠的事件,通知或委托方法调用。期望您的代码负责显示窗口,因此它应该已经知道窗口何时显示。

您是否依赖于Interface Builder中设置的Visible at Launch属性?如果是这样,你用什么加载NIB?希望是一个窗口控制器。在这种情况下,您应该调用-window方法来加载NIB并获取窗口。生成的窗口引用将传递给开始工作表的方法。

如果在启动时不依赖于Visible,您使用什么代码来显示窗口?例如,在窗口控制器上调用-showWindow:?因此,请将代码放在显示之后。

答案 1 :(得分:1)

applicationDidFinishLaunching:是您的切入点。应用程序设置完毕后,会在用户有机会与其进行交互之前将其发送给您的应用代理。