【问题标题】:NSView - Quick Look and NSResponderNSView - 快速查看和 NSResponder
【发布时间】: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


【解决方案1】:

发现了我的问题。我的 NSView 子类没有实现以下内容:

- (BOOL)acceptsFirstResponder
{
    return YES;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多