Domanda

Sto cercando di creare un pulsante popup che visualizza sempre un + come la sua immagine e quando si fa clic su di esso, un menu contestuale che si apre vi permetterà di decidere che tipo di oggetto che si desidera aggiungere. Esiste un modo per farlo utilizzando un NSPopupButton? Ho visto nelle specifiche per NSPopupButotn che il metodo setImage non ha alcun effetto così sembra che questo non è probabile che a lavoro utilizzando questa classe. È corretto?

È stato utile?

Soluzione

Sì, l'aspetto visibile di NSPopUpButton è sbagliato per ciò che si vuole.

Quello che vogliamo è un NSButton regolare con un menù allegato. In Interface Builder cancellare il titolo, impostare la lunetta a Piazza, la posizione al centro versione solo-icona e l'immagine di NSAddTemplate.

Quindi creare un NSPopUpButton, impostarlo su "Pull Down", nascosto, e allinearlo / impostare la sua dimensione per la parte inferiore del NSButton.

Infine, performClick: Connetti nella NSButton per performClick: sul NSPopUpButton.

Questa non gestirà un click-hold sul pulsante; per questo dovrete scrivere del codice per utilizzare una (non-disegno) NSPopUpButtonCell.

Altri suggerimenti

Perché non usare un NSPopupButton? Usando 2 pulsanti per eseguire un compito non mi sembra giusto, più come detto non si comporta in modo normale per quanto riguarda tenendo il pulsante.

Per ottenere il pulsante pop-up di lavoro come ti piace ... imposta a essere un tipo pull-down. Non dare il tasto popup in sé qualsiasi nome o immagine. Se il pulsante popup non ha un nome o immagine poi la prima voce di menu diventa il titolo del pulsante. Le voci di menu possono avere le immagini in modo da non dare la prima voce di menu qualsiasi titolo, basta impostare la sua immagine e questa è l'immagine che vedrete sul pulsante popup. Per il resto delle voci di menu, basta aggiungere come normale dopo la prima voce di menu. Si noti che se si modifica a livello di codice le voci di menu nel codice, basta assicurarsi di lasciare la prima voce nel tatto e tutto sarà OK. Lo faccio in alcune delle mie applicazioni senza alcun problema.

La chiave è quella di utilizzare NSPopUpButtonCell's setUsesItemFromMenu :. La documentazione Apple includono un esempio di come usare questo.

Un tasto popup prende l'immagine e titolo della prima voce di menu nel menu ad esso associati. Quindi, è meglio per includere l'immagine, che si desidera visualizzare come pulsante a comparsa, come primo punto del menu e poi nascondere la sua visibilità.

Se non si è ancora chiaro, quindi passare attraverso il seguente video una volta, sarà sicuramente farà capire.

Questo tutorial mostra come creare un elemento della barra degli strumenti (NSToolbarItem) con menu a discesa per NSToolbar in Interface Builder: link

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