2013-08-03 15 views
5

Come posso modificare l'altezza di un NSMenuItem? Quando cambio il carattere di un menu, un NSMenuItem si ridimensiona automaticamente per adattarsi al titolo, senza lasciare spazio sopra o sotto il titolo. Sembra molto stretto.Altezza NSMenuItem?

appare come questa

enter image description here

desidera guardare in questo modo:

enter image description here

Ho provato un milione di modifiche relative al titolo attribuito delle voci di menu, ma senza risultato. Inoltre, non voglio utilizzare la proprietà view delle voci del menu perché voglio mantenere l'evidenziazione. Altre idee?

Modifica: Questo è quello che mi piacerebbe (più o meno), ma basato su NSMenu, non lo rifatto da zero.

enter image description here

risposta

7

è possibile impostare una vasta un'immagine vuota 1-pixel con l'altezza desiderata:

NSImage *image=[[NSImage alloc]initWithSize:NSMakeSize(1,30)]; 

[menuItem setImage:image]; 

Ovviamente si finisce con i titoli che vengono compensate 1 pixel verso destra, che comunque potrebbe essere accettabile se applicato uniformemente.

+0

Grazie, ha funzionato bene. Lo accetterò come risposta in un giorno, a meno che qualcosa di meglio non venga fuori. Immagino che la soluzione "migliore" sarebbe quella di reimplementare NSMenu da zero, ma non sembra valsa la pena. Ho modificato la domanda originale per mostrare un'immagine del menu di iTunes 11, che è più o meno quello che sto cercando. – danjonweb

+0

Bello fuori dagli schemi pensando xD – NSAddict

1
// you want height 100  
[menuItem setView:[[NSView alloc] initWithFrame:NSMakeRect(0, 0, 0, 100)]]; 
Problemi correlati