SwiftUI帮助菜单KeyboardShortcut默认不显示问题求助
解决帮助菜单快捷键默认不显示的问题
问题原因
自定义帮助菜单时,仅指定单个按键作为快捷键,系统不会默认渲染菜单中的快捷键标签,只有在实际触发一次后才会显示。这是macOS对帮助菜单类快捷键的特殊处理逻辑导致的。
解决方案
显式为快捷键添加修饰符组合,确保菜单默认显示快捷键标识,同时避免与系统默认快捷键冲突。调整后的代码如下:
@main struct MyApp: App { init() { NSWindow.allowsAutomaticWindowTabbing = false } var body: some Scene { WindowGroup { ContentView() } .commands { CommandGroup(replacing: .help) { Button { NSWorkspace.shared.open(URL(string: "https://www.example.com")!) } label: { Text("MyApp Help") } // 显式指定修饰符组合,让快捷键默认显示在菜单中 .keyboardShortcut("H", modifiers: [.command, .shift]) } } } }
说明
系统默认帮助菜单快捷键为Command + Shift + ?,使用Command + Shift + H作为自定义快捷键既不会冲突,又能让系统正常渲染菜单中的快捷键标签,解决默认不显示的问题。
内容的提问来源于stack exchange,提问作者kittonian
相关产品推荐
相关产品推荐

