NSMenuItem setHidden不起作用?

时间:2012-07-15 18:29:40

标签: xcode cocoa hide nsmenuitem nsmenu

我尝试隐藏NSMenuItem,但该方法不起作用。我的NSMenuItem不是零(-setTitle-setEnabled按预期工作)。出口在IB中正确连接,-setAutoEnableItem设置为NO。

但是[item setHidden:YES];并没有改变任何东西。你知道如何隐藏NSMenuItem吗?

再次删除和添加项目对我来说是没有选择的。

1 个答案:

答案 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];