如何在SwiftUI上使用tvOS的对焦引擎?
我在tvOS和SwiftUI上遇到了一些焦点引擎问题 当我在SwiftUI中使用按钮时,调焦引擎会完美地处理它(按钮会自动调焦,调焦后会弹出有趣的动画)。当我使用VStacks和HStacks创建带有图像的网格时,如何在SwiftUI上使用tvOS的对焦引擎?,swiftui,tvos,focus-engine,Swiftui,Tvos,Focus Engine,我在tvOS和SwiftUI上遇到了一些焦点引擎问题 当我在SwiftUI中使用按钮时,调焦引擎会完美地处理它(按钮会自动调焦,调焦后会弹出有趣的动画)。当我使用VStacks和HStacks创建带有图像的网格时,.focusable()会处理焦点部分,但在屏幕上,除了网格是可滚动的之外,视觉上看不到任何东西 我真的希望我在网格中的图像被高亮显示,并弹出到前面,就像我在TVML/TVJS中很容易做到的那样(但谁不想成为本地图像呢)。我想看看我是否可以完全用本地语言,但苹果在tvOS的演示和文档方
.focusable()
会处理焦点部分,但在屏幕上,除了网格是可滚动的之外,视觉上看不到任何东西
我真的希望我在网格中的图像被高亮显示,并弹出到前面,就像我在TVML/TVJS中很容易做到的那样(但谁不想成为本地图像呢)。我想看看我是否可以完全用本地语言,但苹果在tvOS的演示和文档方面做得很少
我试着寻找一些例子项目来解决这个问题,但我什么也找不到。也许这里有人知道。非常感谢 是的,确实找不到多少。这就是我到目前为止所做的:
struct DefaultCell: View {
@State var focused: Bool = false
var record : Record
var body: some View {
VStack{
Image("placeholder")
Text(record.title)
.foregroundColor(self.focused ? .red : .gray)
}
.focusable(true, onFocusChange:{ (changed) in
self.focused = changed
})
}
}
我的记录如下:
struct Record: Decodable, Hashable {
var id:Int;
let title: String;
let poster_path,overview: String?;
}
你需要自己实施集中治疗。这不是在SwiftUI或UIKit中免费获得的东西