swift 主菜单NSMenuItem等效键在查看菜单之前不起作用

x4shl7ld  于 2023-03-22  发布在  Swift
关注(0)|答案(1)|浏览(142)

我在主菜单子菜单中列出了一系列用户可配置的内容,前9项分配了1--9的快捷键:

let item = theMenu.addItem(
    withTitle: title, 
    action: #selector(itemSelected(_:)), 
    keyEquivalent: "1")
item.target = self
item.keyEquivalentModifierMask = [.command]

快捷方式1只有在你打开菜单一次后才起作用。之后,它就像预期的那样起作用了。顺便说一下,这个设置代码是在启动时调用的。
这可能是菜单项验证的问题吗?或者这种方法只是不如一个带有委托的菜单?🤔

evrscar2

evrscar21#

您应该首先创建NSMenuItem,然后将其添加到NSMenu:

let item = NSMenuItem(
    title: title, 
    action: #selector(itemSelected(_:)), 
    keyEquivalent: "1"
)
item.keyEquivalentModifierMask = [.command]
theMenu.addItem(item)

相关问题