2011-10-14 2 views
3

사용자 지정 NSView 항목 컬렉션을 관리하는 응용 프로그램의 기본 창에 NSCollectionView가 있습니다. 각 사용자 정의보기에는 컨텍스트 메뉴가 할당되어 있습니다. 예를 들어 "삭제"키를 "컬렉션에서 항목 제거"작업과 연결하는 것과 같이 일부 항목에 바로 가기 키를 추가하려고합니다. 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; 
}