ich ein Bild Picker mache, das ein n von n Raster von auswählbaren Taste angezeigt wird, wenn der Aufnehmer nach oben ausgeklappt ist. Dieses Raster von Schaltflächen wird in einem NSWindow enthalten sein, aber ich möchte, dass das Fenster automatisch geschlossen wird, wenn der Benutzer auf den Bildschirm klickt. Gibt es ein Flag, das so eingestellt werden kann, dass es automatisch geschlossen wird, wenn das Fenster den Fokus verliert?Schließen Programmatically eine NSWindow wenn es den Fokus verliert
Antwort
Es gibt zwei Benachrichtigungen, die Sie interessieren könnten: NSWindowDidResignKeyNotification
und NSWindowDidResignMainNotification
. Sie können sich einfach für den, an dem Sie interessiert sind, in watchFromNib registrieren (oder windowDidLoad, wenn Sie einen benutzerdefinierten Controller haben) und dann das Fenster entsprechend schließen oder ausblenden, wenn Sie die Benachrichtigungen erhalten.
Ich will nicht zu viel tauchen Sie ein in, ob dies eine gute Idee ist von UI Standpunkt. Es könnte jedoch eine bessere Idee sein, entweder eine Overlay-Ansicht oder ein Panel für die von Ihnen beschriebene Funktionalität zu verwenden.
Sie könnten NSPanel überprüfen. Es ist eine NSWindow-Unterklasse, die sich versteckt, wenn sich die App im Hintergrund befindet, und dieses Verhalten ähnelt dem, wonach Sie suchen. obwohl
- 1. NSWindow erhält keine Benachrichtigung, wenn es den Fokus verliert
- 2. WPF: Erkennen, wenn Fenster den Fokus verliert
- 3. editText verliert nicht den Fokus
- 4. Wie erkennt man, wenn eine Anwendung den Fokus verliert?
- 5. Dialogfeld verliert den Fokus in Windows XP
- 6. So validieren Sie ein Feld, sobald es den Fokus verliert
- 7. Führen Sie JavaScript, wenn ein Element den Fokus verliert
- 8. Textarea verliert den Fokus auf Mausklick?
- 9. Deaktivieren der Farbänderung, wenn die Quellenliste den Fokus verliert
- 10. Was ist das Signal, wenn ein Widget den Fokus verliert?
- 11. Prüfen, ob Fenster den Fokus verliert
- 12. TreeView verliert den Fokus nach Klickereignis
- 13. Angular2 - Wie benachrichtigt werden, dass eine Komponente den Fokus verliert
- 14. Gibt es eine Möglichkeit, den Cursor an den Anfang eines Textfelds zurückzusetzen, wenn er den Fokus verliert?
- 15. Kann eine JTable Daten speichern, wenn eine Zelle den Fokus verliert?
- 16. TextBox - Kann ich das Auswahl-Highlight behalten, wenn es den Fokus verliert?
- 17. WPF App verliert vollständig auf Fenster den Fokus der Nähe
- 18. Wie kann ich Vim Autosave Dateien machen, wenn es den Fokus verliert?
- 19. Qt: Keep Kind Fenster oben auf Eltern, auch wenn es den Fokus verliert
- 20. NSTextField nicht verloren Fokus auf NSWindow bemerkt Nähe
- 21. Corona sdk - native.newTextField - Fokus verliert
- 22. Aktualisieren Sie Datenbindungen, wenn ein TextBox ändert statt Fokus verliert
- 23. .NET-Ereignis für Anwendung verliert und gewinnt den Fokus
- 24. Android: Erkennen, wenn eine andere Aktivität gestartet wird (oder Ihre Aktivität den Fokus verliert)
- 25. Wie halten Sie den ungültigen Wert für NumericUpDown, nachdem es den Fokus verliert?
- 26. Xamarin.Forms EntryCell verliert Wert zum ersten Mal Zelle verliert Fokus
- 27. Programmatically offen NSWindow in einem anderen Desktop (Raum)
- 28. Gelöschtes Element mit einer Imagemap verliert den Fokus in Safari?
- 29. Textfeld verliert den Fokus während asynchronen Ajax Anruf mit jQuery
- 30. Sicherheitsabfrage beim Schließen von NSWindow verhindern
Die Frage ist, um das Fenster zu schließen, wenn das Fenster ** ** Fokus verliert. 'NSPanel' wird ausgeblendet, wenn die ** App ** den Fokus verliert. – Jay