我已经坚持了很长一段时间,我已经在互联网上广泛搜索了一个解决方案...... IB 中的连接设置正确,我可以像这样在 awakeFromNib 中打开我的 NSWindow:
NSApp activateIgnoringOtherApps:YES];
[popUp makeKeyAndOrderFront:nil];
没有问题。我还可以从 awakeFromNib 调用一个方法,并使用该方法中相同的两行打开窗口。
此方法以及从中调用的任何方法中都会出现问题 - NSWindow 将无法打开:
OSStatus myHotKeyHandler(EventHandlerCallRef nextHandler, EventRef anEvent, void *userData)
{
GeronimoAppDelegate *self = [[GeronimoAppDelegate alloc] init];
[self.popUp makeKeyAndOrderFront:nil];
GeronimoAppDelegate *appDel = (GeronimoAppDelegate *)[NSApp delegate];
[appDel.popUp makeKeyAndOrderFront:nil];
//Run the timer method
[self runBackTimer];
return noErr;
}
如您所见,我尝试了两种打开窗口的方法,即通过引用 appdelegate 来访问 NSWindow 对象,但都没有奏效。我需要能够从此方法或从中调用的方法打开窗口。我可能错误地引用了该对象?(所有这些方法都在同一个文件 - GeronimoAppDelegate.m 中)