列表与 VStack(在 ScrollView 中)

Posted

技术标签:

【中文标题】列表与 VStack(在 ScrollView 中)【英文标题】:List vs VStack (in ScrollView) 【发布时间】:2020-02-20 05:23:30 【问题描述】:

我更喜欢使用VStack + ScrollView 来创建更复杂的类似新闻源的 UI。

例如,我可以自定义分隔线,并在List 中去掉NavigationLink 附带的披露指示符。

但是在性能方面,两者之间有什么区别吗?

假设 List 用于简单的列表 UI,VStack 用于更复杂的 UI 是否正确,就像 TableView 和 CollectionView 过去那样?

【问题讨论】:

简而言之,没有。 List 类似于(或者如果更喜欢,基于)UITableView,因此可以重复使用单元格等。但 ScrollView 只是滚动视图 - 它包含/构造所有内容,并且必须具有一些初始内容。 【参考方案1】:

List 可能是由 TableView 实现的,它是动态的。目前,ScrollView + VStack 不是动态的,但 ScrollView + LazyVStack 是动态的。

未来,ScrollView + LazyVStack 可能是更好的选择。

【讨论】:

以上是关于列表与 VStack(在 ScrollView 中)的主要内容,如果未能解决你的问题,请参考以下文章

隐藏 TabBar 时,ScrollView 与 VStack 中的文本重叠

SwiftUI中ScrollView底部对齐内的VStack

VStack 不填充 ScrollView 中的屏幕宽度,填充 List

SwiftUI,ScrollView 在 ZStack 中向上推送 VStack 图像

SwiftUI 中 ScrollView 中 VStack 中元素的神秘间距或填充

WatchOs 上不显示 ScrollView 内的列表