Мое приложение Cocoa поддерживает перетаскивание файлов на значок Dock, но мне бы хотелось иметь другое поведение в зависимости от того, нажата ли клавиша-модификатор (Command, Option и т. Д.).
Я попытался проверить modifierFlags
для currentEvent
, но они одинаковы, независимо от того, удерживается ли модификатор или нет (я тестировал с помощью клавиши 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");
}
Вывод (перетаскивание файла ключом Option вниз, а затем нет):
flags: 1088, down? NO
flags: 1088, down? NO
Ожидаемое
flags: <not sure>, down? YES
flags: <different>, down? NO