我以编程方式创建了一个NSMenuItem,但它被禁用了。如果我重写validateMenuItem:方法并为所有项返回YES,菜单项就可以正常工作。
当我告诉菜单autoEnableItems并且不覆盖validateMenuItem:方法时,它为什么不被启用?
NSMenuItem *menuItem = [[NSMenuItem alloc] initWithTitle:label action:@selector(methodToLogSomething:) keyEquivalent:@""];
menuItem.representedObject = representedObject;
[menuItem setTarget:self];
[menu insertItem:menuItem atIndex:[[menu itemArray] count]-1];
[menuItem release];
[menu setAutoenablesItems:YES];发布于 2011-01-14 01:15:59
如果未正确设置菜单项的目标和操作,则菜单项将保持禁用状态。在我的例子中,我忘记了选择器末尾的:。
https://stackoverflow.com/questions/4524294
复制相似问题