2013-01-18 100 views
3

我的一本電子書解釋瞭如何添加新菜單項。那麼,這不是很難弄清楚。瞭解如何將IBAction與新的菜單項相關聯並不難。但是這本書和谷歌搜索結果沒有解釋如何禁用菜單項。更具體地說,我想根據當前窗口的顯示位置來禁用首選項和退出。如果應用程序當前顯示「首選項」窗口,我想禁用這些菜單項。禁用菜單項目

enter image description here

假設我有一個IBOutlet名爲preferencesMenu,然後我有

[preferencesMenu setEnabled:NO]; 

,不會在禁用該菜單項。那麼如何禁用特定的菜單項呢?

謝謝您的建議。

湯姆

+2

您不需要禁用首菜單項時Preferences窗口已經可見。 Quit菜單項不應該被禁用,句點。 – duskwuff

回答

1

只要設定目標爲零。我會做這份工作。

[preferencesMenu setTarget:nil]; 
+0

謝謝。不幸的是,它似乎沒有完成這項工作。 –

+0

並在界面生成器中選中「自動啓用項目」? –

+0

是的,該複選框已啓用。 –

7

NSMenuItems自動禁用自己僅當既目標和選擇器分別nilNULL

[preferencesMenu setTarget:nil]; 
[preferencesMenu setAction:NULL]; 

哪一個快速測試顯示導致這個:

enter image description here