Команды в SwiftUI не запускаются - PullRequest
0 голосов
/ 11 июля 2020

Я хочу получать команды с клавиатуры. Пробовал вот так:

@main struct app: App {
  var body: some Scene {
    WindowGroup {
      ContentView()
    }
    .commands {
      CommandMenu("CustomCommands") {
        Button("command1",action:{print("command 1 executed")})
        .keyboardShortcut("x", modifiers: .command)
        Button("command2",action:{print("command 2 executed")})
        .keyboardShortcut("A")
      }
    }
  }
}

struct ContentView: View {
  var body: some View {
    VStack{
      Text("Command Test")
      Button("command 3",action:{print("command 3 executed")})
      .keyboardShortcut("y", modifiers: .command)
      Button("command 4",action:{print("command 4 executed")})
      .keyboardShortcut("b")
    }
    
  }
}

Клавиатурные команды не принимаются на iPad или Ma c под Catalyst. Пункт меню не отображается на Ma c (Catalyst), как ожидалось.

Xcode: версия 12.0 beta 2 (12A6163b). MacOS: 11.0 бета (20A4300b)

1 Ответ

0 голосов
/ 25 июля 2020

Думаю, проблема была в том, что я использовал "системные ярлыки" вроде COMMAND-a и COMMAND-x. Используя COMMAND-1 и Command-2, теперь он отлично работает в BigSur Beta 3.

В Использование «Command-a» в качестве сочетания клавиш для меню в SwiftUI 2.0 Я спросил, как использовать "системные ярлыки", такие как COMMAND-a.

...