我有一个名为 history 的 NSMenuItem,它位于一个名为 menu 的 NSMenu 中。当我的程序启动时,历史没有子菜单,因此它被禁用。然后在某个时候,我需要一个历史子菜单,所以我创建它,让它成为历史子菜单。历史旁边出现一个箭头,告诉我子菜单在那里。但是历史仍然被禁用。我试过 setEnabled 但不起作用。请帮忙。这是我的代码:
这是我创建菜单和历史的时候,你可以在菜单中看到一个 NSMenuItem。
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];
此时,历史记录被禁用(灰显)。然后在程序的某个地方我需要有一个历史子菜单,所以:
if (historyMenu == nil) {
historyMenu = [[NSMenu alloc] initWithTitle:@"Lyrics history"];
[menu setSubmenu:historyMenu forItem:[menu itemWithTitle:@"History"]];
}
我现在在历史旁边看到一个箭头,但它仍然是灰色的。
请帮忙,我在过去的两个小时里一直在努力解决这个问题。谢谢。