Frage

Ich bin gerade auf ein Problem gestoßen, das ich bereits aus anderen Programmiersprachen / Frameworks kenne. Wenn der Benutzer auf eine bestimmte Schaltfläche auf der Tastatur klickt, löst er dieselbe Aktion aus wie beim Drücken einer bestimmten Schaltfläche in der GUI.(Einige Leute nennen diese "Abkürzungen"; D)

Um dem Benutzer ein optisches Feedback zu geben, möchte ich die Schaltfläche programmgesteuert "klicken", anstatt dieselben Funktionen aufzurufen, die beim Klicken auf die Schaltfläche aufgerufen werden.

Wenn ich die Schaltfläche in IB als Schlüsseläquivalent einstelle, sieht sie genau so aus, wie ich sie haben möchte. Dies ist hier nicht möglich, da die Verknüpfung nur aktiviert werden sollte, wenn die richtigen Textfelder den Fokus haben.

In NSButton oder ähnlichem konnte keine Methode gefunden werden, die richtig klang. Ich bin sicher, ihr könnt mir eine Richtung geben!

Am besten und vielen Dank im Voraus

War es hilfreich?

Lösung

Sie können einfach performClick: an die Schaltfläche senden.Es wird sich selbst hervorheben, seine Aktion an sein Ziel senden und sich dann selbst hervorheben.

[self.someButton performClick:self];

Wenn Sie die Schaltfläche wirklich nur manuell markieren und deaktivieren möchten, können Sie die highlight:-Methode verwenden.

[self.someButton highlight:YES]; // button appears pressed
[self.someButton highlight:NO]; // button appears unpressed

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top