Domanda

Ho una lista di applicazioni e mi piacerebbe fare un NSPopupButton che mostra un menu di nomi delle applicazioni con la loro icona a sinistra di ogni elemento.

Sono stato in grado di impegnare la NSPopupButton alla mia matrice di elementi, ma non c'è una voce vincolante per un'immagine. Ho pensato che avrei potuto mettere una cella in là e associare il cellulare come immagine e come testo, ma non riesco a trovare una cella appropriata in IB.

C'è un modo semplice e pulito per fare questo utilizzando le associazioni? Devo scrivere un cellulare personalizzato?

È stato utile?

Soluzione

Non c'è modo per legare le immagini così come i titoli delle voci di menu utilizzando uno stock NSPopUpButton. Si dovrà sottoclasse e scrivere un IBPlugin per esporre la sottoclasse. E, naturalmente, si dovrebbe gestire la cella pure.

Ho trovato miscelazione Attacchi con NSPopUpButton ad essere un sacchetto di male per una serie di motivi, tra cui l'impossibilità di separatori e delle voci di menu out-of-modello come il “default” o “All”. Considerare l'utilizzo di un controllo diverso, ad esempio un elenco fonte, o il popolamento e ri-popolare il menu pop-up manualmente.

Altri suggerimenti

NSMenuItem ha vincolante Immagine (nella sezione "Parametri" waaaaaayyyyy verso il basso). Quindi penso che si dovrebbe associare quel valore ad un percorso nella vostra gamma di applicazioni in esecuzione. È possibile ottenere un'icona per l'applicazione utilizzando oggetto NSWorkspace condivisa.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top