2011-10-14 56 views
3

我有一個NSCollectionView在我的應用程序的主窗口,管理自定義NSView項目的集合。每個自定義視圖都有一個分配給它的上下文菜單。我想爲某些項目添加快捷鍵,例如,將「刪除」鍵與「從項目中刪除項目」操作相關聯。我已經通過IB添加了與上下文菜單項相關的關鍵字,但問題是如何使收集項響應按下的鍵?NSView自定義上下文菜單和鍵

我知道我可以通過將此菜單添加到NSApp的主菜單並跟蹤所選項目來實現此目的。除此之外還有其他方法嗎?

回答

0

您可以添加這樣的事情你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; 
}