带键盘快捷键的命令组 (Command + O)
CommandGroup with keyboardShortcut (Command + O)
据我了解,我需要在 App
结构中使用 CommandGroup
来在 SwiftUI 中设置菜单项。所以我有以下内容。
import SwiftUI
@main
struct Oh_My_App: App {
var body: some Scene {
WindowGroup {
ContentView(menuObservable: menuObservable)
}.commands {
CommandGroup(replacing: .newItem) {
}
CommandGroup(after: .newItem) {
Button {
} label: {
Text("Open...")
}
.keyboardShortcut("O")
}
}
}
}
如果我启动应用程序,我会找到我的打开命令,如下面的屏幕截图所示。
好吧,我的关键等价物是 O。所以快捷方式应该是 Command + O。但是我的打开命令得到 Command + Shift + O,这表明 O keyequivalent 已经被别的东西占用了。但是靠什么!?如以下屏幕截图所示,只有十几个保留命令。 None 其中使用 O.
所以我的问题是如何将 Command + O 分配给我的打开命令?谢谢。
如果您使用小写 "o"
,它将删除 Shift(这是一个使 "O"
大写的修饰符):
.keyboardShortcut("o")
据我了解,我需要在 App
结构中使用 CommandGroup
来在 SwiftUI 中设置菜单项。所以我有以下内容。
import SwiftUI
@main
struct Oh_My_App: App {
var body: some Scene {
WindowGroup {
ContentView(menuObservable: menuObservable)
}.commands {
CommandGroup(replacing: .newItem) {
}
CommandGroup(after: .newItem) {
Button {
} label: {
Text("Open...")
}
.keyboardShortcut("O")
}
}
}
}
如果我启动应用程序,我会找到我的打开命令,如下面的屏幕截图所示。
好吧,我的关键等价物是 O。所以快捷方式应该是 Command + O。但是我的打开命令得到 Command + Shift + O,这表明 O keyequivalent 已经被别的东西占用了。但是靠什么!?如以下屏幕截图所示,只有十几个保留命令。 None 其中使用 O.
所以我的问题是如何将 Command + O 分配给我的打开命令?谢谢。
如果您使用小写 "o"
,它将删除 Shift(这是一个使 "O"
大写的修饰符):
.keyboardShortcut("o")