首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带箭头键的SwiftUI KeyboardShortcut

带箭头键的SwiftUI KeyboardShortcut
EN

Stack Overflow用户
提问于 2021-01-06 02:57:20
回答 1查看 569关注 0票数 2

在SwiftUI中使用箭头键作为.keyboardShortcut时遇到问题。示例iOS应用程序:

代码语言:javascript
运行
复制
struct ContentView: View {
    @State var time: Date = Date()
    
    var body: some View {
        VStack {
            Button("Press Me") {
                time = Date()
            }
            .keyboardShortcut(KeyEquivalent.rightArrow, modifiers: [])
        
            Text("\(time)")
        }
    }
}

这将显示一个按钮,当按下该按钮时,会更改text中显示的时间。我应该能够使用键盘上的右箭头键并使其正常工作,但它不能。如果我将keyboardShortcut行更改为,比如说:

代码语言:javascript
运行
复制
.keyboardShortcut(KeyEquivalent(“a”), modifiers: [])

一切都按预期运行。你可以按“a”键,时间就会改变。如果你按住命令键,你会得到系统提供的显示“a”快捷键的平显设备。将其更改为.rightAarrow,它会显示平显设备,但快捷键有一个封闭的“?”,并且快捷键在按下箭头键时不会触发。

(我知道我可以使用UIKit做到这一点。(试图了解为什么SwiftUI版本不起作用。)

EN

回答 1

Stack Overflow用户

发布于 2021-01-13 02:25:12

我正试图在我的MacOS SwiftUI应用程序中实现同样的目标。以您的代码为例,我在Button{}之后插入了.keyboardShortcut(KeyEquivalent.rightArrow, modifiers: []),它工作得很好。然后,我将您的整个代码粘贴到我的ContentView中,它再次正常工作。我不知道为什么它在我的MacOS应用程序中有效,但在你的iOS应用程序中不起作用。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65584926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档