2010-07-26 11 views
6

Tengo un menú donde algunos de los elementos de menú utilizan enlaces para obtener su título. Estos elementos siempre están habilitados, y no se habilitan/deshabilitan automáticamente como deberían, NI causan una llamada a validateUserInterfaceItem :. Si quita el enlace en el título, entonces eso comienza a funcionar de nuevo. Los elementos del menú tienen el objetivo establecido en nil (Primer Respondedor). Si hace clic en uno, ejecuta el selector (acción).Enlazar una validación de habilitación/deshabilitación de roturas de título de NSMenuItem

Error? ¿Qué hacer?

+1

Solo una nota de que este sigue siendo el caso casi 5 años después. – DanielGibbs

+1

Y todavía dos años después de eso. – matt

Respuesta

4

Por alguna razón, cuando establece el título de un elemento de menú con enlaces, el elemento de menú se habilita incluso si el objetivo/acción es nil.

Si desea desactivar permanentemente el elemento de menú que puede solucionar este uniéndose el estado del elemento de menú enabled a una constante NO:

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

Tenga en cuenta que esto no es el más elegante solución, pero en mi caso, todavía estaba más limpio que no usar enlaces para el título.

Cuestiones relacionadas