我需要获取对我的应用程序中的单个窗口的引用。如果我勾选“启动时可见”,它就会显示。
我不断看到如下代码,但这没有多大意义。如果没有在界面中的任何地方声明它,那么 self 如何知道 nib 文件中的窗口?
NSWindow *window = [self window];
当我在 applicationDidFinishLaunching 中运行该命令时,出现以下错误:
No visible @interface for 'AppDelegate' declares the selector 'window'
这是有道理的,因为没有声明接口(interface)。然而,当勾选“启动时可见”时,窗口如何自动加载?
我的最终目标是我需要引用一个窗口并更改其级别,即
[window setLevel:NSFloatingWindowLevel];
请帮忙?
最佳答案
简短的答案是:
在 AppDelegate.h 中,声明一个“window”属性:
@property (strong) IBOutlet NSWindow* window;
在 MainMenu.nib 中,将主窗口连接到“AppDelegate”的“window”属性:
Right-click on the "AppDelegate" object, then click on the widget next to the "window" property and drag it to your window.
您的“AppDelegate”实例现在将具有“window”属性,并将分配给您的主窗口。
关于objective-c - 如何在 Objective-c 中引用/打开窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18139716/