當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Swift Optional 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大神的英文原創作品 Optional keyboardShortcut(_:modifiers:localization:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。