1

我尝试隐藏 aNSMenuItem但该方法不起作用。我NSMenuItem的不是 nil ( -setTitle-setEnabled按预期工作)。IB 中的插座连接正确并-setAutoEnableItem设置为 NO。

[item setHidden:YES];不会改变任何东西。您知道如何隐藏 NSMenuItem 吗?

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

4

1 回答 1

2

NSMenuItem隐藏问题是由于替代项目。如果项目有替代项目或项目,它不能被隐藏。但是你可以像这样解决它:

例如,您想使用备用项目itemAlt2itemCtrl2隐藏item2。所以让itemAlt2itemCtrl2不交替并像这样隐藏:

[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];
于 2012-07-15T20:12:37.307 回答