내가 만든 Simple 코코아 app. 사용 장소는 NSOutlineView입니다. 이제 나의 과제는 Escape Key 이벤트가 발생하도록하는 것입니다. 내 에 appdelegate.mNSOutlineView에 대한 모든 필수 메소드를 구현했습니다.NSOutlineView에서 누른 Escape 키는 어떻게 탐지합니까?
- (void)keyDown:(NSEvent *)theEvent
{
switch([theEvent keyCode])
{
case 53: // esc
NSLog(@"ESC");
// Implement the functionality you want when esc is pressed
break;
default:
[super keyDown:theEvent];
}
}
고맙습니다. 나는이 방법을 하위 분류 nsoutlineview로 안다. 하지만 나는 Appdelegate.m 만하고 싶습니다. NSControlTextDidChangeNotification 함께 시도했다. 텍스트 필드가 비어 있지 않으면 이스케이프 이벤트가 발생합니다. 텍스트 필드가 비어 있거나 공백 인 경우 모두 헛되이 있습니다. –
그런 경우 글로벌 keydown 이벤트를 등록하여 키를 눌렀는지 확인하고 응용 프로그램이 가장 앞에 있는지 확인하십시오. 그렇다면 귀하의 기능을 구현하십시오. – Neha
다음과 같이 전역 키 이벤트에 등록 할 수 있습니다. [NSEvent addGlobalMonitorForEventsMatchingMask : NSKeyDownMask handler :^(NSEvent * event) {// 여기에 코드를 입력하십시오.]]; – Neha