如何在 tvOS 中使 SwiftUI 列表可滚动
Posted
技术标签:
【中文标题】如何在 tvOS 中使 SwiftUI 列表可滚动【英文标题】:How to make a SwiftUI list scrollable in tvOS 【发布时间】:2019-11-19 10:07:05 【问题描述】:我有一个带有内容的 List
,当我构建到 Apple Tv 时,我无法滚动到 List
的底部。
我尝试在 List
行上设置焦点,但似乎无法滚动列表。我还用ScrollView
替换了List
,但无济于事。
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)
【问题讨论】:
【参考方案1】:tvOS 上的 SwiftUI 有一个错误,如果您在某物上设置阴影,则其中的任何组件都不会接收用户输入事件,例如焦点。不过有一个简单的解决方法,只需在背景层上设置阴影即可。
.background(
Color.white
.shadow(radius: 5)
)
【讨论】:
【参考方案2】:所以我在SomeListRow
中添加了焦点,但没有用,但删除List
上的.shadow
使它工作。一定是修饰符的顺序(还在研究中)。
【讨论】:
以上是关于如何在 tvOS 中使 SwiftUI 列表可滚动的主要内容,如果未能解决你的问题,请参考以下文章
如何在 SwiftUI 中使整个列表行成为 NavigationLink