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