【发布时间】:2015-11-30 08:54:45
【问题描述】:
我认为这是一个简单的问题,但我是 Cocoa 的新手。我们在哪里可以为MainMenu.xib编写-windowDidBecomeKey方法,以便当主窗口成为键时应该调用该方法。谢谢。
【问题讨论】:
标签: objective-c macos cocoa
我认为这是一个简单的问题,但我是 Cocoa 的新手。我们在哪里可以为MainMenu.xib编写-windowDidBecomeKey方法,以便当主窗口成为键时应该调用该方法。谢谢。
【问题讨论】:
标签: objective-c macos cocoa
首先,转到您的应用委托头文件,然后更改如下所示的内容:
@interface AppDelegate : NSObject <NSApplicationDelegate>
到这里:
@interface AppDelegate : NSObject <NSApplicationDelegate, NSWindowDelegate>
然后进入实现文件,实现方法:
- (void)windowDidBecomeKey:(NSNotification *)notification {
// do something
}
然后在界面生成器中右键单击窗口的标题栏,并将 Delegate 旁边的点拖到您的应用委托上。
或者,您可以收听通知。将此添加到 applicationDidFinishLaunching 方法中:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(windowDidBecomeKey:)
name:NSWindowDidBecomeKeyNotification
object:_window];
这种方法的优点是您可以随意命名监听器方法。
【讨论】: