2010-07-26 11 views
6

Ho un menu in cui alcune voci del menu utilizzano i collegamenti per ottenere il titolo. Questi elementi sono sempre abilitati e non abilitano/disabilitano automaticamente come dovrebbero fare NOR se provocano una chiamata a validateUserInterfaceItem :. Se rimuovi la rilegatura sul titolo, allora si inizia a lavorare di nuovo. Le voci del menu hanno l'obiettivo impostato su zero (Primo risponditore). Se si fa clic su uno, esegue il selettore (azione).Binding di un NSMenuItem interruzione di abilitazione/disabilitazione del titolo

Bug? Cosa fare?

+1

Solo una nota che questo è ancora il caso quasi 5 anni dopo. – DanielGibbs

+1

E ancora due anni dopo. – matt

risposta

4

Per qualche motivo quando si imposta il titolo di un elemento di menu con associazioni, la voce di menu diventa abilitata anche se la destinazione/azione è nil.

Se si desidera disabilitare in modo permanente la voce di menu è possibile risolvere questo legando lo stato della voce di menu enabled ad una costante NO:

NSNumber *alwaysNo = [NSNumber numberWithBool:NO]; 
[menuItem bind:@"enabled" toObject:alwaysNo withKeyPath:@"boolValue" options:nil]; 

Nota che questo non è il più elegante soluzione, ma nel mio caso era ancora più pulito rispetto a non utilizzare i binding per il titolo.

Problemi correlati