3
내 Cocoa 응용 프로그램이 Dock 아이콘에 파일 놓기를 지원하지만 수정 자 키가 눌려져 있는지 (Command, Option 등)에 따라 다른 동작이 필요합니다.).Dock에서 수정 키가 눌려져 있는지 확인하는 방법
currentEvent
에 대해 modifierFlags
을 확인했지만 변경자를 누르고 있는지 여부에 관계없이 동일합니다 (Option 키를 사용하여 테스트 했음).
코드 :
// Code is inside my AppDelegate
- (void)application:(NSApplication *)theApplication openFiles:(NSArray *)files {
BOOL optDown = (([[NSApp currentEvent] modifierFlags] & NSAlternateKeyMask)
== NSAlternateKeyMask);
NSLog(@"flags: %u, down? %@", [[NSApp currentEvent] modifierFlags],
optDown ? @"YES" : @"NO");
}
출력 (안 다음, 아래 옵션 키를 가진 파일을 삭제) :
flags: 1088, down? NO
flags: 1088, down? NO
예상
flags: <not sure>, down? YES
flags: <different>, down? NO
감사합니다. [NSEvent modifierFlags]는 (10.6 필요합니다) 트릭을 완벽하게 수행했습니다. – Dov