1

我需要在我的应用程序中获取对单个窗口的引用。如果我勾选“启动时可见”,它就会出现。

我一直看到如下代码,但这没有多大意义。如果 nib 文件中的窗口没有在界面中的任何位置声明,那么自己如何知道它?

NSWindow *window = [self window]; 

当我在 applicationDidFinishLaunching 中运行它时,我收到此错误:

No visible @interface for 'AppDelegate' declares the selector 'window'

这是有道理的,因为没有声明接口。然而,当“启动时可见”被勾选时,窗口是如何自动加载的?

我的最终目标是我需要引用一个窗口并更改其级别,即

[window setLevel:NSFloatingWindowLevel];

请帮忙?

4

1 回答 1

1

简短的回答是:

在 AppDelegate.h 中,声明一个“窗口”属性:

 @property (strong) IBOutlet NSWindow* window;

在 MainMenu.nib 中,将主窗口连接到“AppDelegate”的“window”属性:

右键单击“AppDelegate”对象,然后单击“窗口”属性旁边的小部件并将其拖到您的窗口中。

您的“AppDelegate”实例现在将有一个“window”属性,并将分配给您的主窗口。

于 2013-08-09T04:52:09.937 回答