如何使SwiftUI列表在tvOS中可滚动

时间:2019-11-19 10:07:05

标签: listview scroll scrollview swiftui tvos

我有一个List内容,当我构建到Apple TV时,无法滚动到List的底部。

我尝试将焦点放在List行上,但似乎无法滚动列表。我也用List取代了ScrollView,但无济于事。

List(self.someData) { data in
     SomeListRow(data: data)
}
.shadow(radius: 5)
.focusable(true)

List(self.someData) { data in
     SomeListRow(data: data)
      .focusable(true)

}
.shadow(radius: 5)

2 个答案:

答案 0 :(得分:1)

tvOS上的SwiftUI有一个错误:如果您在某处设置阴影,则其中的任何组件都不会收到诸如焦点之类的用户输入事件。不过,有一个简单的解决方法,只需在背景图层上设置阴影即可。

.background(
    Color.white
        .shadow(radius: 5)
)

答案 1 :(得分:0)

因此,我在<ul class="list-group"> <li class="list-group-item">Cras justo odio</li> <li class="list-group-item">Dapibus ac facilisis in</li> <li class="list-group-item">Morbi leo risus</li> <li class="list-group-item">Porta ac consectetur ac</li> <li class="list-group-item">Vestibulum at eros</li> </ul> 中添加了可聚焦对象,但这没有用,但是在set上删除了a = ['hello','','data'] b = ['hello','','data'] c = ['test','','data'] common = [list(x) for x in set(tuple(x) for x in [a, b, c])] 使其起作用了。必须是修饰符的顺序(仍在查看中)。