У меня есть NSWindow с пользовательским NSView. Этот пользовательский метод NSView переопределяет метод PerformDragOperation. Операции перетаскивания работают хорошо. Но когда я создаю и показываю NSAlert как модальное окно, мне нужно блокировать перетаскивание, метод PerformDragOperation не должен вызываться.
NSAlert *alert = [[NSAlert alloc]init];
[alert addButtonWithTitle:@"Excellent"];
[alert setMessageText:@"This is your message."];
[alert runModal];
Одним из возможных решений является добавление кода, который проверяет, отображается ли диалоговое окно для метода executeDragOperation. Но как определить, отображается ли NSAlert. Например, для листа я могу использовать:
if([window attachedSheet]) {
...
}
Но как это сделать для
[alert runModal];
NSApplication
имеет свойствоmodalWindow
. - person Willeke   schedule 26.04.2016