[英]SwiftUI macOS Scroll a List With Arrow Keys While a TextField is Active
我想使用 SwiftUI TextField
和 SwiftUI List
在项目列表上方呈现“搜索框”。 大致类似于 Safari 的“帮助”菜单项中的搜索框……它提供了一个搜索框,您可以在其中输入文本,同时使用向上和向下箭头键浏览结果列表。
我已经打了onMoveCommand
, focusable
,和调整“父” NSWindow
,但还没有找到的清楚明白的方式TextField
不断接受输入,同时仍然能够浏览下面的List
使用向上和向下箭头键。 以下代码允许在TextField
输入文本或导航列表条目,但不能同时...
struct ContentView: View {
@State var text: String = ""
@State var selection: Int? = 1
var body: some View {
VStack {
TextField("Enter text", text: $text)
List(selection: $selection) {
ForEach((1...100), id: \.self) {
Text("\($0)")
}
}
}
}
}
您可以将 NSTextField 包装在 NSViewRepresentable 中,并使用 NSTextFieldDelegate 拦截向上和向下移动键。 您可以查看我的建议演示。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.