2012-07-15 58 views
1

我試圖隱藏NSMenuItem但該方法不起作用。我的NSMenuItem不是零(-setTitle,-setEnabled按預期工作)。出口在IB中正確連接,-setAutoEnableItem設置爲NO。NSMenuItem setHidden不起作用?

但是[item setHidden:YES];不會改變任何東西。你有一個想法如何隱藏NSMenuItem?

要刪除並再次添加該項目對我來說沒有選擇。

+0

什麼'NSMenuItem'你試圖隱藏?您創建或默認?如果您創建的項目應該使用'-setHidden'。 – 2012-07-15 19:09:25

+0

我自己創建了這個NSMenuItem。 – dehlen 2012-07-15 19:11:19

+0

您創建了'NSMenu'並添加了它'NSMenuItem'?或將項目添加到現有菜單? – 2012-07-15 19:13:19

回答

1

NSMenuItem隱藏問題是由於替代項目。如果物品有替代物品或物品,則無法隱藏。但你可以解決它像這樣:

比如你想隱藏ITEM2使用替代項目itemAlt2itemCtrl2。因此,請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]; 
+0

謝謝,我會解決這個問題! – dehlen 2012-07-15 20:21:21

+0

@DavidEhlen不客氣。 – 2012-07-15 20:22:07