Tengo un NSMenuItem llamado historial que reside en un menú denominado NSMenu. Cuando mi programa comienza, el historial no tiene un submenú, por lo que está deshabilitado. Luego, en algún momento, necesito un submenú para la historia, por lo que lo creo, conviértalo en un submenú de la historia. Aparece una flecha al lado del historial que me dice que el submenú está allí. Pero el historial aún está desactivado. He intentado con setEnabled pero no funciona. Por favor ayuda. Aquí mi código:NSMenuItem no está habilitado?
Esto es cuando creo mi menú, y la historia como se puede ver un NSMenuItem en el menú.
menu = [[NSMenu alloc] initWithTitle:@"Menu"];
[[menu addItemWithTitle:@"History" action:nil keyEquivalent:@""] setTarget:self];
[[menu addItemWithTitle:@"Settings" action:@selector(loadSettings:) keyEquivalent:@""] setTarget:self];
[[menu addItemWithTitle:@"Quit" action:@selector(terminateApp:) keyEquivalent:@""] setTarget:self];
En este punto, el historial está desactivado (gris). Entonces en algún lugar en el programa que necesita tener un submenú para la historia por lo que:
if (historyMenu == nil) {
historyMenu = [[NSMenu alloc] initWithTitle:@"Lyrics history"];
[menu setSubmenu:historyMenu forItem:[menu itemWithTitle:@"History"]];
}
ahora veo una flecha al lado de la historia, pero sigue en gris.
Por favor ayuda, he estado tratando de resolver esto para los últimos 2 horas. Gracias.
Gracias, pero ¿Qué sucede si no configuro un método de acción? De hecho, ni siquiera necesito establecer un objetivo, no sé por qué lo tengo allí. De todos modos, voy a intentar lo que dijiste, gracias por la ayuda. – user635064