如何在SwiftUI上使用tvOS的对焦引擎?

如何在SwiftUI上使用tvOS的对焦引擎?,swiftui,tvos,focus-engine,Swiftui,Tvos,Focus Engine,我在tvOS和SwiftUI上遇到了一些焦点引擎问题 当我在SwiftUI中使用按钮时,调焦引擎会完美地处理它(按钮会自动调焦,调焦后会弹出有趣的动画)。当我使用VStacks和HStacks创建带有图像的网格时,.focusable()会处理焦点部分,但在屏幕上,除了网格是可滚动的之外,视觉上看不到任何东西 我真的希望我在网格中的图像被高亮显示,并弹出到前面,就像我在TVML/TVJS中很容易做到的那样(但谁不想成为本地图像呢)。我想看看我是否可以完全用本地语言,但苹果在tvOS的演示和文档方

我在tvOS和SwiftUI上遇到了一些焦点引擎问题

当我在SwiftUI中使用按钮时,调焦引擎会完美地处理它(按钮会自动调焦,调焦后会弹出有趣的动画)。当我使用VStacks和HStacks创建带有图像的网格时,
.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中免费获得的东西