在swiftUI中完成动画后,我到处都想做一些动作,但是文档中没有提到SwiftUI中withAnimation
的完成处理程序。有没有解决的办法。请帮助我是iOS和SwiftUI的初学者。
Grid(viewModel.cards) { card in
CardView(card: card, theme: self.viewModel.getTheme())
.onTapGesture {
withAnimation(.linear(duration: 0.8)) {
self.viewModel.choose(card: card)
}
self.viewModel.resetGame()
}
.padding(5)
}
HStack {
Text("Score : \(self.viewModel.score)")
}
}
在withAnimation
内的onTapGesture
之后,我想运行self.viewModel.resetGame()
我不能使用AnimatableModifier
,因为我在onTapGesture
里面。
答案 0 :(得分:0)
也许只是将您的重置函数包装到具有动画长度的asyncAfter DispatchQueue上?
DispatchQueue.main.asyncAfter(deadline: .now() + 0.8) {
self.viewModel.resetGame()
}