gpt4 book ai didi

swiftui - 如何在 SwiftUI 中设置按钮焦点?

转载 作者:行者123 更新时间:2023-12-03 20:57:38 25 4
gpt4 key购买 nike

!!! TVOS !!!

我有按钮列表,它以某种方式自动聚焦该列表中的第一个按钮(加载 View 时)。有什么方法可以使用 SwiftUI 聚焦该列表中的另一个按钮?

我知道有 preferredFocusedViewUIKit但我喜欢在 SwiftUI 中这样做.

感谢您的任何建议!

最佳答案

SwiftUI 2.0
笔记: !!部分解决!!
以下方法经 Xcode 12b5/tvOS 14 测试有效 仅与堆栈 并且不适用于 List/ScrollView(在任何经过​​测试的组合中)。
无论如何,对于屏幕上的小按钮组,它是适用的,因此值得发布。
enter image description here

struct DemoPreferredFocusView: View {
@Namespace var ns
@Environment(\.resetFocus) var resetFocus
@AppStorage("initialButton") var initialButton: Int = 3

var body: some View {
VStack {
ForEach(0..<10, id: \.self) { i in
Button(action: {
print(">> tapped \(i)")
self.initialButton = i
}) {
Text("Button \(i)")
}
.prefersDefaultFocus(i == initialButton, in: ns)
}.focusScope(ns)
}
.onAppear {
DispatchQueue.main.async {
self.resetFocus.callAsFunction(in: ns)
}
}
}
}

关于swiftui - 如何在 SwiftUI 中设置按钮焦点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60115506/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com