我试图通过单击/取消单击NSMenuItem来定义全局布尔变量,并在标签前面用勾号表示值,就像当前在f.lux (cf )中所做的那样。(见下图)
我的菜单目前是按下面的方式构建的,我在NSMenuItem文档中找不到如何实现它。
有人已经做过了吗?
let menu = NSMenu()
menu.addItem(NSMenuItem.separator())
menu.addItem(NSMenuItem(title: "Autocheck", action: #selector(AppDelegate.autocheck(_:)), keyEquivalent: ""))
menu.addItem(NSMenuItem(title: "Quit", action: #selector(NSApplication.terminate(_:)), keyEquivalent: "q"))
statusItem.menu = menu

发布于 2018-08-19 01:43:11
方法是使用state property of NSMenuItem。最后代码是:
let menu = NSMenu()
menu.addItem(NSMenuItem.separator())
let autocheck = NSMenuItem(title: "Autocheck", action: #selector(AppDelegate.automount_bool(_:)), keyEquivalent: "")
if automount==true{
autocheck.state = NSControl.StateValue.on
}else{
autocheck.state = NSControl.StateValue.off
}
menu.addItem(autocheck)
menu.addItem(NSMenuItem(title: "Quit", action: #selector(NSApplication.terminate(_:)), keyEquivalent: "q"))
statusItem.menu = menuhttps://stackoverflow.com/questions/51912952
复制相似问题