禁用 NSMenuItem
Posted
技术标签:
【中文标题】禁用 NSMenuItem【英文标题】:disabled NSMenuItem 【发布时间】:2011-05-30 06:51:47 【问题描述】:我以编程方式创建了一个 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];
【问题讨论】:
【参考方案1】:如果菜单项的目标和操作设置不正确,菜单项似乎会保持禁用状态。就我而言,我忘记了选择器末尾的:
。
【讨论】:
我忘记通过setTarget
设置目标。也没有正确设置。谢谢!
如果您尝试禁用某些菜单项,此答案也会有所帮助
花了几个小时试图解决这个问题,谢谢大家!以上是关于禁用 NSMenuItem的主要内容,如果未能解决你的问题,请参考以下文章