Also habe ich zufällig folgendes Verhalten bemerkt:
Einige Fenster können durch Drücken der escTaste geschlossen werden , z. B. das Einstellungsfenster in einer beliebigen App oder das Fenster "Safari-Hilfe" oder das Fenster "Schriftarten" in TextExit.
Andere Fenster können nicht durch Drücken der escTaste geschlossen werden , z. B. das Safari-Browserfenster oder das Fenster "Sonderzeichen".
Die Standardeinstellung cmd wscheint immer zu funktionieren.
Was ist die Regel für Tastenanschläge beim Schließen von Fenstern? Wann dürfen wir verwenden esc?
macos
window-manager
shortcut
CousinCocaine
quelle
quelle
Antworten:
Was Sie sehen, nämlich das Verhalten, bei dem die Escape-Taste das Fenster schließt, wird automatisch in die
NSPanel
Klasse integriert, die eine Unterklasse von istNSWindow
.Von
Window Programming Guide > How Panels Work
:Das Einstellungsfenster (oder Bedienfeld) ist in vielen Anwendungen wie folgt implementiert
NSPanel
: Safari, Vorschau, Terminal, Konsole. Das Bedienfeld „Schriftarten“ in Cocoa-Apps ist als implementiertNSPanel
. Wenn Sie Safari> Safari-Hilfe wählen, wird eine unsichtbare Hintergrundanwendung, HelpViewer.app (/System/Library/CoreServices/HelpViewer.app), gestartet, deren Hauptfenster als Floating implementiert istNSPanel
. Aus diesen Gründen reagieren diese Bedienfelder auf die Escape-Taste, indem sie das Fenster schließen. Allgemeine Standardfenster, von denen es sich um Instanzen handeltNSWindow
, zeigen dieses Verhalten nicht automatisch an, da nur Bedienfelder so funktionieren sollen.quelle
Das
esc
Schließen eines modalen Dialogfelds mit der Taste entspricht in der Regel dem Drücken der Schaltfläche Abbrechen für das Dialogfeld. Dies ähnelt dem Drücken der TastenReturn
oderEnter
, um die Aktion für die hervorgehobene Schaltfläche zu bestätigen.Dies ist in den Apple Human Interface Guidelines für Macintosh von Anfang an enthalten und für OS X nicht neu. Die Richtlinie finden Sie hier unter der Überschrift "Dialoge schließen":
https://developer.apple.com/library/mac/documentation/userexperience/conceptual/applehiguidelines/Windows/Windows.html#//apple_ref/doc/uid/20000961-TPXREF56
Suchen Sie auf dieser Seite nach "escape". Die Übereinstimmung befindet sich ungefähr zu 3/4 auf der Seite und bezieht sich ausdrücklich auf dieses Verhalten.
Aus den Human Interface Guidelines:
Ein weiteres nützliches Verhalten ist, wenn ein Dialog akzeptiert
Return
oderEnter
Teil eines Textfeldes ist, sehr oft drückenCommand
-Return
wird die Standardschaltfläche drücken.quelle
NSPanel
, die automatisch das Verhalten "Escape-Taste bewirkt, dass das Bedienfeld geschlossen wird" erhalten.