使用validateUserInterfaceItem可以禁用/啓用一個菜單項,但我需要類似的行爲來隱藏菜單項,你有一些提示嗎?Cocoa validateUserInterfaceItem和菜單項隱藏
回答
- (BOOL)validateMenuItem:(NSMenuItem *)菜單項
在docs一些細節。
更新:如果validateMenuItem:
回報NO
NSMenus不隱瞞NSMenuItems。相應的NSMenuItem被禁用(它告訴用戶功能在那裏,但目前不適用)。
此行爲也在Apple's HIG中建議。 (參見「命名菜單項」部分第二段)
兩個約NSMenuItem的enabled
狀態其他注意事項:
setEnabled
僅在託管NSMenu的autoenablesItems:
設置爲YES
- 默認工作
validateMenuItem:
的實現似乎遍歷響應者鏈來檢查NSMenuItem的目標/動作是否可用。
您可以使用 - (BOOL)validateMenuItem:在不需要時刪除菜單項並在需要時插入它。
中調用setHidden內validateMenuItem沒有按」 t隱藏菜單,我不明白爲什麼 – dafi 2010-11-10 15:04:40
你嘗試從其他地方調用setHidden嗎?我在我的一個項目中使用它(也用於上下文菜單),它在那裏的作用就像一個魅力。也許有些微不足道(Outlet沒有連接?) – 2010-11-10 20:51:18
- 1. Flex:從菜單中隱藏菜單項?
- 2. ActionMode菜單不隱藏菜單項
- 3. 滑塊隱藏菜單項
- 4. 隱藏特定菜單項
- 5. 刪除/隱藏菜單項
- 6. 隱藏管理菜單項
- 7. 如何隱藏菜單項?
- 8. 隱藏「編輯項目」菜單項
- 9. 隱藏菜單項或下拉菜單項?
- 10. 如何讓菜單項隱藏在菜單項上?
- 11. jQueryUI菜單隱藏
- 12. 系統欄隱藏菜單項
- 13. Android爲什麼setActionView隱藏菜單項
- 14. 無法隱藏Tabchanged上的菜單項
- 15. 在主頁面上隱藏菜單項
- 16. 隱藏MFC中的菜單項
- 17. 綁定錯誤隱藏菜單項
- 18. 下拉菜單項隱藏在ie8
- 19. 菜單項點擊隱藏彈出
- 20. Bootstrap3子菜單隱藏onclick子項
- 21. 隱藏Android上下文菜單項目
- 22. 如何隱藏選項菜單?
- 23. 如何隱藏菜單項QML
- 24. 當ActionLayout打開時隱藏菜單項
- 25. 如何隱藏ASP.NET菜單項?
- 26. DOJO - 爲DropDownMenu隱藏菜單項
- 27. 無法隱藏菜單中的項目
- 28. 隱藏css中的菜單項
- 29. 隱藏黑莓中的菜單項
- 30. 在Cocoa Desktop中切換「顯示/隱藏」菜單項的最佳方式
你是正確的,但我有一個上下文菜單,我想只顯示有效的「語境」的項目,而不必菜單項打,只有一對夫婦啓用 – dafi 2010-11-10 16:46:05