swift - SwiftUI 中的键盘快捷键
问题描述
我正在制作一个 SwiftUI 应用程序,我想使用菜单栏添加键盘快捷键。我已经在所有设备上看到了苹果的视频 SwiftUI,但我不知道他们是如何将其集成menu.xib
到他们的应用程序中的。
#if targetEnvironment(macCatalyst)
// MacOS
#else
// iOS
#endif
也不行。我试图在我的项目中添加一个菜单栏,但我无法编译。你知道如何添加一个吗?
解决方案
在 SwiftUI 2.0(在 BigSur Beta3 上)中,您可以像这样非常简单地将菜单添加到 Mac 应用程序:
@main
struct AppWithMenue: App {
var body: some Scene {
WindowGroup {
ContentView()
}
.commands {
MyCommands()
}
}
}
struct MyCommands : Commands{
var body: some Commands {
CommandMenu("MyCommands") {
Section {
Button("Command 1", action: {print ("Command 1")})
.keyboardShortcut("1")
Button("Command 2", action: {print ("Command 2")})
.keyboardShortcut("2")
}
}
}
}
推荐阅读
- c# - 如何使用 C# 在 Windows 上获取应用程序的性能数据?
- reactjs - 无法从 Styled Components 对象呈现页面中的道具
- python - 如果熊猫数据框中的下一个单元格为 0,我如何保持上一个单元格的值?
- javascript - 为什么这个 SVG 没有显示在 Google 地图 (JavaScript) 中?
- android - 如何更改导航栏的颜色(手势模式)?
- java - 如何最好地对期望设置 ThrreadLocal 变量的类使用 junit 测试?
- ansible - 我可以浏览 Ansible 的 CICS 资源之间的关系吗?
- python - Python - 将一个 sns.histplot() 中的 bin 用于另一个 / 从 sns.histpllot() 中提取 bin 信息
- php - 在外键约束“followers_ibfk_1”中引用列“follower_id”和引用列“id”不兼容。我的错误是什么?
- python - python中的十六进制到Base64,但我得到错误的结果