专注于SwiftUItvOS列表中的特定项目

问题描述

我很难弄清楚如何专注于SwiftUI 2.0和tvOS 14中列表中的特定单元格/行。当我导航至时,我需要能够集中并选择特定记录。一个看法。但是,当焦点切换到列表时,某些随机行会被聚焦。我试过ScrollView和List来创建一个带有Buttons的项目列表,并带有适当的preferredsDefaultFocus。没事。这是一些示例代码

struct ChannelListView: View {
    @Namespace private var namespace
    @Observedobject var viewmodel : Liveviewmodel
    @State var selection = Set<ChannelItem>()
    var body: some View {
        List(viewmodel.channels,selection: $selection){ item in
            ScrollViewReader { proxy in
                        Button(action: {
                        }){
                            ChannelItemView(item: item,selectedItem: $viewmodel.selectedChannel,onSelected: { id in
                            })
                            .padding(.vertical,2)
                        }
                        .buttonStyle(ChannelButtonStyle())
                        .prefersDefaultFocus(item == viewmodel.selectedChannel,in: namespace)
            }
        }
        .focusScope(namespace)
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)