我尝试隐藏NSMenuItem
,但该方法不起作用。我的NSMenuItem
不是零(-setTitle
,-setEnabled
按预期工作)。出口在IB中正确连接,-setAutoEnableItem
设置为NO。
但是[item setHidden:YES];
并没有改变任何东西。你知道如何隐藏NSMenuItem吗?
再次删除和添加项目对我来说是没有选择的。
答案 0 :(得分:2)
NSMenuItem
隐藏问题是由于备用项目造成的。如果项目具有备用项目或项目,则无法隐藏。但你可以这样解决它:
例如,您希望使用备用项 itemAlt2 和 itemCtrl2 隐藏 item2 。所以让 itemAlt2 和 itemCtrl2 不要像这样交替和隐藏:
[itemAlt2 setAlternate: NO];
[itemAlt2 setHidden: YES];
[itemCtrl2 setAlternate: NO];
[itemCtrl2 setHidden: YES];
[item2 setHidden: YES];
当您需要显示 item2 时,只需将它们替换为可见,如下所示:
[itemAlt2 setAlternate: YES];
[itemAlt2 setHidden: NO];
[itemCtrl2 setAlternate: YES];
[itemCtrl2 setHidden: NO];
[item2 setHidden: NO];