我想在Swift中以编程方式启用Menu-Object
。我找到了Apple Developer Library
:https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSMenuItem_Class/#//apple_ref/occ/instp/NSMenuItem/enabled
但是如何使用代码获取Menu-Object
的引用并以编程方式设置其状态?
答案 0 :(得分:1)
您只需以编程方式设置enabled-attribute:menObj.enabled = false
答案 1 :(得分:1)
对于Swift 4 +,Barath's Answer中的某些代码已被弃用。我还认为通过搜索menuitem标题而不是其索引,该代码更具适应性:
let mainMenu = NSApplication.shared.mainMenu!
let subMenu = mainMenu.item(withTitle: "Edit")?.submenu
subMenu?.item(withTitle: "Cut")?.isEnabled = false
此外,只要将isEnabled
设置为true,将setAutoenablesItems
设置为true或false不会切换菜单项。可以从情节提要中禁用它,也可以通过编程禁用它。
答案 2 :(得分:0)
启用或禁用菜单项而不使用以下代码进行子类化。
let mainMenu = NSApplication.sharedApplication().mainMenu!
let appMenu = mainMenu.itemAtIndex(0)!.submenu
appMenu?.itemWithTitle("Title")?.enabled = false