Xcode Swift 4 OSX NSButton Wie stelle ich fest ob ein Button mit einem Mausklick bzw. mit der Enter-Taste betätigt wurde?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • NSView (eine Basisklasse von NSButton) hat das Property window. Damit erhältst Du das NSWindow in welchem sich der Button befindet.

    In NSWindow gibt es dann das Property currentEvent. Dieses liefert Dir das aktuelle NSEvent, welches die Action für den Button ausgelöst hat.

    Über das type Property des NSEvents kannst Du dann herausfinden, ob dies ein Mouse, Key oder sonstiges Event ist.

    Damit solltest Du dann innerhalb der Action des Buttons herausfinden können, ob der Auslöser für die Button Action ein Mausklick oder die Enter-Taste war.

    Interessant diesbezüglich ist sicherlich auch ein Blick in den Cocoa Event Handling Guide.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von MCDan ()

  • MCDan schrieb:

    NSView (eine Basisklasse von NSButton) hat das Property window. Damit erhältst Du das NSWindow in welchem sich der Button befindet.

    In NSWindow gibt es dann das Property currentEvent. Dieses liefert Dir das aktuelle NSEvent, welches die Action für den Button ausgelöst hat.

    Über das type Property des NSEvents kannst Du dann herausfinden, ob dies ein Mouse, Key oder sonstiges Event ist.

    Damit solltest Du dann innerhalb der Action des Buttons herausfinden können, ob der Auslöser für die Button Action ein Mausklick oder die Enter-Taste war.

    Interessant diesbezüglich ist sicherlich auch ein Blick in den Cocoa Event Handling Guide.
    @MCDan: Vielen Dank für die ausführliche Beschreibung. Funktioniert einwandfrei. :thumbsup: