【问题标题】:NSView custom context menu and keysNSView 自定义上下文菜单和键
【发布时间】:2011-12-07 13:41:36
【问题描述】:

我在我的应用程序的主窗口中有一个 NSCollectionView,用于管理自定义 NSView 项目的集合。每个自定义视图都有一个分配给它的上下文菜单。我想为某些项目添加快捷键,例如将“删除”键与“从集合中删除项目”操作相关联。我已经通过 IB 为上下文菜单项添加了等效键,但问题是如何使集合项响应按下的键?

我知道我可以通过将此菜单添加到 NSApp 的主菜单并跟踪所选项目来实现这一点。除此之外还有什么办法吗?

【问题讨论】:

    标签: cocoa keyboard-shortcuts nsmenu


    【解决方案1】:

    您可以将这样的内容添加到您的 NSCollectionView 子类中:

    - (BOOL)performKeyEquivalent:(NSEvent *)theEvent
    {
        BOOL rv = NO;
    
        id firstResponder = self.window.firstResponder;
    
        if ([firstResponder isKindOfClass:[NSView class]] && [firstResponder isDescendantOf:self]) {
            // Note: performKeyEquivalent: messages come DOWN the view hierarchy, not UP the responder chain.
    
            // Perform the key equivalent
    
        }
    
        if (!rv) {
            rv = [super performKeyEquivalent:theEvent];
        }
    
        return rv;
    }
    

    【讨论】:

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