gpt4 book ai didi

SwiftUI:动画列表中的更改而不动画内容更改

转载 作者:行者123 更新时间:2023-12-03 09:17:41 24 4
gpt4 key购买 nike

我在 SwiftUI 中有一个简单的应用程序,显示 List , 每一项都是一个 VStack带两个 Text元素:

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 应用程序。

最佳答案

以下应该禁用行内部的动画

VStack(alignment: .leading) {
Text(item.name)
Text(self.distanceString(for: item.distance))
}
.animation(nil)

关于SwiftUI:动画列表中的更改而不动画内容更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59972470/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com