有什么方法可以删除 .onDelete SwiftUI 上的淡入淡出动画 [英] Is there any way to remove the fading animation on .onDelete SwiftUI
本文介绍了有什么方法可以删除 .onDelete SwiftUI 上的淡入淡出动画的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
代码如下.我想在点击 onDelete
时删除最终的淡入淡出动画.
The code is below. I want to delete the final fading animation when onDelete
is tapped.
struct ContentView: View {
@State var names = ["david", "john", "amber"]
var body: some View {
List {
ForEach(names, id: \.self) { (item) in
Text(item)
}.onDelete(perform: self.deleteItem)
}
}
private func deleteItem(at indexSet: IndexSet) {
self.names.remove(atOffsets: indexSet)
}
}
我尝试使用 .animation()
但没有效果
I tried to use .animation()
but none works
推荐答案
一个可能的解决方案是强制重绘List
:
A possible solution is to force redraw the List
:
struct ContentView: View {
@State private var names = ["david", "john", "amber"]
@State private var listId = UUID()
var body: some View {
List {
ForEach(names, id: \.self) { item in
Text(item)
}
.onDelete(perform: deleteItem)
}
.id(listId)
}
private func deleteItem(at indexSet: IndexSet) {
names.remove(atOffsets: indexSet)
listId = UUID()
}
}
这篇关于有什么方法可以删除 .onDelete SwiftUI 上的淡入淡出动画的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文