Macht ein NSAlert das oberste Fenster?

8

Ich habe das Hauptfenster in meiner Anwendung erstellt, um diese Einstellungen zu haben:

%Vor%

Es ist ein sehr benutzerdefiniertes Fenster, das über dem Desktop schwebt.

Außerdem ist es eine Menüleiste ( LSUIElement ).

Alles klar, also muss ich eine Warnung anzeigen, wenn etwas nicht stimmt. Hier ist, wie ich es mache:

%Vor%

Natürlich habe ich die Knöpfe und anderen Text ausgefüllt.

Hier ist mein Problem: Wenn meine Anwendung momentan nicht die Schlüsselanwendung ist und diese Warnung erscheint, ist es kein Schlüsselfenster. So:

Sehen Sie, wie das Fenster nicht ausgewählt ist? Gibt es einen Weg um dies zu ändern, ohne meine ganze App-Fenster-Ebene zu ändern? Danke!

    
sudo rm -rf 11.03.2011, 04:57
quelle

2 Antworten

9

Haben Sie versucht, Ihre Anwendung in dem Code zu aktivieren, der die Warnung anzeigt?

%Vor%

Wenn das Übergeben von 0 nicht funktioniert, können Sie NSApplicationActivateIgnoringOtherApps als Option übergeben, aber Apple empfiehlt dagegen, es sei denn, es ist wirklich notwendig (siehe Dokumentation für NSRunningApplication).

Update: Sie müssen vor dem Ausführen der Warnung aktivieren. Das funktioniert bei mir in einer neuen App mit LSUIElement set:

%Vor%     
skue 11.03.2011, 05:35
quelle
2

Wenn Sie auch 10.5 unterstützen wollen. Sie können

verwenden %Vor%     
Parag Bafna 29.05.2012 13:01
quelle

Tags und Links