Ho alcuni eventi chiave, che corrispondono anche ai pulsanti. Quale proprietà/metodo devo impostare/chiamare un pulsante per apparire depresso (cambiare stato?) Per dire mezzo secondo?L'aspetto di un pulsante Cocoa viene premuto, programmato
5
A
risposta
1
Il modo in cui ho risolto questo è ho impostato il NSButton ad un tipo di 'spinta sulla spinta fuori' e poi usato il seguente codice nel mio gestore di eventi chiave:
NSButton *button = [self.superview viewWithTag:event.keyCode];
if (button != nil && button.state == NSOffState) {
[button performClick:event];
[button performSelector:@selector(performClick:) withObject:event afterDelay:0.5];
}
Questo metterà in evidenza il pulsante come se l'utente ha cliccato su di esso, e quindi farà nuovamente clic su di esso in mezzo secondo.
1
Credo che il metodo -setHighlighted:
della cella dei pulsanti controlli se il pulsante sembra premuto o meno. Potrebbe anche essere necessario chiamare il -setNeedsDisplay:
sul pulsante dopo averlo modificato, ed è possibile che il pulsante cambi da solo lo stato evidenziato della cella, quindi temo che potrebbe essere necessario smanettare per farlo funzionare.
(Devo ammettere, però, che io non sono del tutto certo di tutto questo.)
Problemi correlati
- 1. Come evidenziare un pulsante quando viene premuto?
- 2. chiama una funzione quando viene premuto un pulsante - pyqt
- 3. Come avviare il thread se il pulsante è premuto e interromperlo se viene premuto di nuovo?
- 4. Pulsante premuto a lungo
- 5. Rileva quando viene premuto il pulsante Home iOS
- 6. Pulsante jQuery mobile rimanendo premuto
- 7. premuto il pulsante di Android stato
- 8. Selettore per il pulsante premuto
- 9. Xcode: Rilevamento quando viene premuto un controller di navigazione implementato "pulsante Indietro"
- 10. Convalida l'input come richiesto solo se viene premuto un determinato pulsante di comando
- 11. Come evitare di chiamare suCreateView quando il pulsante indietro viene premuto in un frammento in Android
- 12. ANDROID: come inserire un ritardo dopo aver premuto un pulsante?
- 13. Android: come centrare un pulsante creato in modo programmato?
- 14. Pulsante di stile diverso applicato quando premuto
- 15. QPushButton() dovrebbe reagire fintanto che viene premuto
- 16. azione di ripetizione Android premendo e tenendo premuto un pulsante
- 17. Esegui suggerimento automatico UITextField corrente quando viene premuto un altro pulsante
- 18. Dialogo PyQt - Come farlo uscire dopo aver premuto un pulsante?
- 19. Come ottenere il titolo per un UIButton quando viene premuto
- 20. Azione di ripetizione JavaScript quando il mouse viene tenuto premuto
- 21. Ripetere un'azione tenendo premuto il pulsante lungo
- 22. Riprodurre un suono quando viene premuto un tasto
- 23. Pulsante "done" premuto pulsante evento per UIWebView e WKWebView
- 24. Come aggiornare Gridview dopo aver premuto un pulsante in asp.net
- 25. Il pulsante del tipo di input cambia colore mentre viene premuto?
- 26. Cambia il colore di sfondo del pulsante della barra delle azioni quando viene premuto
- 27. Forzare l'uscita di un'app per iPhone quando viene premuto il pulsante Home (su iOS4)
- 28. cambia colore pulsante testo quando premuto
- 29. Come sapere quale pulsante è stato premuto?
- 30. come rimuovere il colore di sfondo del pulsante quando viene premuto - xamarin forms UWP
Sì, che lo ha fatto: [(NSButtonCell *) yourButton.cell setHighlighted: YES]; non c'è bisogno di setNeedsDisplay. Grazie. – Borzh