【发布时间】:2011-01-11 21:25:08
【问题描述】:
我已将 NSView (MyCustomView) 子类化,并使用 MainMenu.xib 中的自定义视图对象将其添加到 InterfaceBuilder 中我的 NSWindow 的内容视图中。
我已经添加了代码来接受对 MyCustomView 的快速查看响应。
调用后:
[[QLPreviewPanel sharedPreviewPanel] makeKeyAndOrderFront:nil];
要求快速查看窗口出现,显然 QLPreviewPanel 会通过响应程序链寻找任何响应 -(BOOL)acceptsPreviewPanelControl: 的内容,以便执行所需的操作。 MyCustomView 似乎没有响应,尽管具有快速查看功能的相关方法,包括上述方法。
我尝试将以下内容添加到 MyCustomView 的 init 方法中,但没有任何区别:
[self acceptsFirstResponder];
[self becomeFirstResponder];
任何想法我错过了什么?我认为这与我的 xib 设置有关?
【问题讨论】:
-
成为第一响应者的正确方法是 [self.window makeFirstResponder:self];
-
好的,尽管它仍然显示我的子类 NSView 不在响应者链中......
标签: objective-c cocoa quicklook nsresponder