A partire da OS X 10.10 la maggior parte di NSStatusItem è stata dichiarata obsoleta a favore della proprietà button
, che consiste in un NSStatusBarButton. Dovrebbe funzionare come un normale pulsante, ma sfortunatamente anche i metodi cell
e setCell
in NSStatusButton sono stati deprecati. Di conseguenza, sto cercando di trovare un modo per mantenere il pulsante evidenziato dopo che è stato cliccato (normalmente il pulsante è evidenziato con il mouse verso il basso e non evidenziato con il mouse verso l'alto. Voglio mantenerlo evidenziato dopo il mouse su).NSStatusBarButton mantenere evidenziato
Chiamare [NSStatusButton setHighlighted:]
nella sua azione non funziona perché sembra non essere illuminato da solo una volta che il mouse è attivo. D'altra parte, l'utilizzo di un ritardo per chiamarlo sul ciclo successivo, ovvero [self performSelector: withDelay:]
, fa lampeggiare l'evidenziatore in modo piuttosto sgradevole. Funziona, ma non sembra carino.
L'impostazione del tipo di pulsante su NSToggleButton
rimuove completamente l'evidenziazione e evidenzia l'immagine del modello che era dispari.
Questi erano gli unici metodi che potevo pensare. Esiste comunque la possibilità di ignorare questo comportamento di mouseUp NSButtonCell?
Dove hai letto che 'NSStatusItem' è deprecato? – PnotNP
@NulledPointer https://developer.apple.com/library/prerelease/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSStatusItem_Class/index.html#//apple_ref/doc/uid/TP40004118 – Luke
NSStatusItem non è deprecato, molti dei suoi metodi sono stati deprecati in 10.10. – ctpenrose