当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Swift Never keyboardShortcut(_:modifiers:localization:)用法及代码示例


实例方法

keyboardShortcut(_:modifiers:localization:)

定义键盘快捷键并将其分配给修改后的控件。

声明

func keyboardShortcut(
    _ key: KeyEquivalent,
    modifiers: EventModifiers = .command,
    localization: KeyboardShortcut.Localization
) -> some View

详述

当控件位于最前面的窗口或场景中的任意位置,或 macOS 主菜单中的任意位置时按下控件的快捷方式,相当于直接与控件交互以执行其主要操作。

键盘快捷键的目标在 leading-to-trailing 中解析,深度优先遍历一个或多个视图层次结构。在 macOS 上,系统首先查看键窗口,然后是主窗口,然后是命令组;在其他平台上,系统先查看活动场景,然后查看命令组。

如果多个控件与同一个快捷方式相关联,则使用找到的第一个。

本土化

提供 localization 值以指定如何本地化此快捷方式。鉴于 key 始终是相对于 US-English 键盘布局定义的,因此在不同的国际布局上可能很难达到。例如,快捷方式 ⌘[ 适用于美国布局,但对于德国用户来说很难达到,其中 [ 可以通过按 ⌥5 来使用,使用户键入 ⌥⌘5 。自动键盘快捷键重新映射将快捷键重新分配给适当的替换,在这种情况下为 ⌘Ö

某些快捷方式携带有关方向性的信息。例如,⌘[ 可以显示以前的视图。按照 UI 的布局方向,此快捷方式将自动镜像到 ⌘] 。但是,这不适用于诸如“左对齐⌘{”之类的项目,它将是独立于布局方向的“left”。当快捷方式不应该遵循 UI 的方向性,而是在从右到左和从左到右的方向上相同时,使用KeyboardShortcut/Localization-swift.struct/withoutMirroring 将防止系统翻转它。


var body: some Commands {
    CommandMenu("Card") {
        Button("Align Left") { ... }
            .keyboardShortcut("{",
                 modifiers: .option,
                 localization: .withoutMirroring)
        Button("Align Right") { ... }
            .keyboardShortcut("}",
                 modifiers: .option,
                 localization: .withoutMirroring)
    }
}

最后,提供选项KeyboardShortcut/Localization-swift.struct/custom 禁用此快捷方式的自动本地化,以告诉系统以不同的方式处理国际化。

可用版本

iOS 15.0+, iPadOS 15.0+, macOS 12.0+, Mac Catalyst 15.0+

相关用法


注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 Never keyboardShortcut(_:modifiers:localization:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。