swiftui - SwiftUI 中键盘快捷键的标题
问题描述
我想在 SwiftUI 中更改键盘快捷键的可发现性标题。正如您在下面看到的,如果在文本按钮中使用,标题会显示在弹出窗口中,但如果您为按钮使用图像,则它不会显示在弹出窗口中(当在键盘上按住 cmd 以查看应用程序支持的快捷方式时)。
struct ContentView: View {
var body: some View {
VStack {
Button("Save to Favorites") {
}
.keyboardShortcut("a")
Button {
} label: {
Image(systemName: "heart.fill")
}
.keyboardShortcut("s")
}
}
}
如何为快捷方式帮助弹出窗口添加标题?
请注意,我已经尝试了所有可访问性的东西,即标签、标识符、提示等……但它没有用。
解决方案
不是一个超级优雅的解决方案,但我通过添加Text
一个.frame
大小为width: 0, height: 0
. 这有效地隐藏了Text
视图,但确保它在用户按住 ⌘ 键时出现。
考虑把它放在一个ZStack
也因为默认安排可能让它稍微偏离中心。
VStack {
Button("Save to Favorites") {
}
.keyboardShortcut("a")
Button {
} label: {
ZStack {
Text("heart")
.frame(width: 0, height: 0) // <- this part
Image(systemName: "heart.fill")
}
}
.keyboardShortcut("s")
}
推荐阅读
- laravel - 为什么验证会出错?
- php - 将模块 Drupal7 转换为 Drupal8
- html - 如何在 Bokeh 独立 HTML 中使用外部数据文件(无 Bokeh 服务器)
- python - 如何将我的包上传到 anaconda 云的主目录
- java - 哪些 AtomicInteger 方法是 test-and-set、fetch-and-add 和 compare-and-swap(就无锁算法而言)?
- javascript - Vue.js - 如何解决 [Vue 警告]:渲染错误:“TypeError:无法读取未定义的属性‘端口’”?
- python - Cumm 根据几个条件计算另外两列
- python - Django DATE_FORMAT 工作日名称
- c# - .Net Core ActionResult
总是返回假? - excel - 处理自写类的对象的默认属性在 64 位办公室中表现出奇怪的行为