Domanda

Mi sono appena imbattuto in un problema che già conosco da altri linguaggi di programmazione / framework ... Ogni volta che l'utente fa clic su un determinato pulsante sulla tastiera, attiva la stessa azione di quando viene premuto un determinato pulsante nella GUI.(Alcuni chiamano queste "scorciatoie"; D)

Per fornire all'utente un feedback ottico, vorrei "fare clic" sul pulsante in modo programmatico piuttosto che chiamare le stesse funzioni che vengono chiamate quando si fa clic sul pulsante.

Se imposto il pulsante come equivalente della chiave in IB, sembra esattamente come lo desidero. Non è possibile farlo qui perché la scorciatoia dovrebbe essere abilitata solo se i campi di testo corretti sono attivi.

Impossibile trovare un metodo in NSButton o simile che suonasse corretto. Sono sicuro che voi ragazzi potete darmi qualche direzione!

Cordiali saluti e grazie in anticipo

È stato utile?

Soluzione

Puoi semplicemente inviare performClick: al pulsante.Si evidenzierà, invierà la sua azione al suo obiettivo, quindi rimuoverà se stesso.

[self.someButton performClick:self];

Se vuoi davvero evidenziare e deselezionare il pulsante manualmente, puoi utilizzare il metodo highlight:.

[self.someButton highlight:YES]; // button appears pressed
[self.someButton highlight:NO]; // button appears unpressed
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top