SwiftUI 和 tvOS(可聚焦) [英] SwiftUI and tvOS (focusable)
本文介绍了SwiftUI 和 tvOS(可聚焦)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我知道,SwiftUI 目前处于测试阶段,但我想确保正确使用可聚焦.
I know, SwiftUI is currently in beta, but i want to be sure to use focusable correctly.
实际上,当我在列表中向下滚动时,当列表向下滚动时,焦点项目会跳过 3 或 4 行(向上滚动方向很好).
Actually, when i scroll down in the list, the focused item skips 3 or 4 rows when the list scroll down (up scroll direction is fine).
您可以尝试使用此代码,在 b4 版本中:(b5 相同)
You can try with this code, in b4 version: ( same for b5)
import SwiftUI
struct TestList: Identifiable {
var id: Int
var name: String
}
let testData = [Int](0..<50).map { TestList(id: $0, name: "Row \($0)") }
struct SwiftUIView : View {
var testList: [TestList]
var body: some View {
List {
ForEach(testList) { txt in
TestRow(row: txt)
}
}
}
}
struct TestRow: View {
var row: TestList
@State private var backgroundColor = Color.clear
var body: some View {
Text(row.name)
.focusable(true) { isFocused in
self.backgroundColor = isFocused ? Color.green : Color.blue
if isFocused {
print(self.row.name)
}
}
.background(self.backgroundColor)
}
}
#if DEBUG
struct SwiftUIView_Previews : PreviewProvider {
static var previews: some View {
SwiftUIView(testList: testData)
}
}
#endif
谢谢.
推荐答案
它终于用 Xcode 11 GM 为我工作了...
It finally working for me with Xcode 11 GM...
这篇关于SwiftUI 和 tvOS(可聚焦)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文