【发布时间】:2019-10-24 03:27:14
【问题描述】:
使用内置列表视图,无法删除单元格之间的行分隔符。在我的设计中,我需要在每一行的右侧显示一个标签,有时甚至隐藏这些行。
目前唯一的解决方法是在 ScrollView 中使用 VStack。但是这样做的性能如何? 对很长的 ScrollView 这样做是否安全?由于 SwiftUI 使用数据结构而不是 UIView,我们真的需要重用行为吗?
在视频会议 (https://developer.apple.com/videos/play/wwdc2019/237/) 中,他们还解释了 SwiftUI 的布局行为,无法想象在需要计算每个单元格的高度时,ScrollView 中的一个很长的 VStack 会很高效......他们当然可以实现某种布局缓存。
【问题讨论】:
-
SwiftUI仍处于测试阶段,因此边缘仍然很粗糙。SwiftUI在其 DSL 中使用结构,但我很确定它的布局引擎仍然使用 UIViews 作为构建块。在 Apple 披露更多信息或开源(如果有的话)之前,我们不会知道更多信息。如果你关心性能,你可能想继续使用UIKit,也许你的视图控制器UIViewControllerRepresentable,所以你可以在SwiftUI中采用它。
标签: swift performance swiftui