我已经继承了NSMenu
并通过Interface Builder连接了一堆NSMenuItem
。我已经通过调试器进行了测试,以查看它们是否已真正初始化。
菜单设置为不自动启用项目。不过,当我将任何NSMenuItem设置为[myMenuItem setEnabled:NO]
时,它们仍会继续启用。即使我从NSMenu子类中调用[self update]
也是如此。
我想念什么?
最佳答案
遇到了同样的问题,所以我认为我应该发布解决方案。 NSMenu自动启用NSMenuButtons,因此我们必须重写它。
在IB中:
或以编程方式:
// Disable auto enable
[myMenu setAutoenablesItems:NO];
// Test it
[myMenuButton setEnabled:NO];
[myMenuButton setEnabled:YES];