【发布时间】:2020-01-29 17:23:59
【问题描述】:
我在 SwiftUI 中有一个简单的应用程序,它显示一个 List,每个项目都是一个带有两个 Text 元素的 VStack:
var body: some View {
List(elements) { item in
NavigationLink(destination: DetailView(item: item)) {
VStack(alignment: .leading) {
Text(item.name)
Text(self.distanceString(for: item.distance))
}
}
}
.animation(.default)
}
.animate() 在那里,因为我想在elements 数组更改时对列表的更改进行动画处理。不幸的是,SwiftUI 还会对内容的任何更改进行动画处理,从而导致奇怪的行为。例如,每个项目中的第二个Text 更新非常频繁,现在更新将在更新到新内容之前很快显示标签被截断(末尾带有...)。
那么当我更新列表的内容时如何防止这种奇怪的行为,但在列表中的元素发生变化时保留动画?
如果相关,我正在创建一个 watchOS 应用。
【问题讨论】:
标签: swift swiftui watchos swiftui-list