2016-04-25 5 views
0

Ich habe NSWindow mit benutzerdefinierten NSView. Diese benutzerdefinierte NSView überschreibt die performDragOperation-Methode. Ziehen und Ablegen funktioniert gut. Aber wenn ich NSAlert als modales Fenster erstelle und zeige, muss ich Drag-and-Drop blockieren, Methode sollte performDragOperation nicht aufgerufen werden.Wie alle Drag-and-Drop-Operationen deaktiviert werden, wenn NSAlert als modales Fenster angezeigt wird

Eine der möglichen Lösungen ist der Code hinzufügen, der überprüft, ob der Dialog für die performDragOperation-Methode angezeigt wird. Aber wie erkennt man, ob NSAlert angezeigt wird? Zum Beispiel für Blatt kann ich verwenden:

if([window attachedSheet]) { 
    ... 
} 

Aber wie dies für

[alert runModal]; 
+0

'NSApplication' hat eine Eigenschaft' modalWindow'. – Willeke

+0

Danke Willeke. Es ist genau das, was ich brauche. –

Antwort

0

Nach Willeke Kommentare, zu erkennen, ob einige Alert kann läuft nächste Code verwendet werden:

if([NSApp modalWindow]) { 
    ... 
} 
Verwandte Themen