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

3

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

我尝试在List行上使用focusable,但似乎无法使列表滚动。我还替换了ListScrollView,但也没有成功。

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个回答

3

在tvOS的SwiftUI中存在一个Bug,如果您对某个组件设置了阴影,则其中的所有组件都无法接收到用户输入事件,如焦点等。不过,有一个简单的解决方法,只需将阴影设置在背景层即可。

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

0
所以我在SomeListRow中添加了可聚焦性,但这并没有起作用,但是在List上删除.shadow后它就可以工作了。可能是修饰符的顺序(仍在研究中)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接