在SwiftUI中,可以使用.onAppear()
修饰符来在动画之后执行函数。.onAppear()
修饰符是一个视图修饰符,它会在视图出现在屏幕上时调用指定的函数。
以下是一个示例代码,展示了如何在动画之后执行函数:
struct ContentView: View {
@State private var isAnimating = false
var body: some View {
VStack {
Rectangle()
.foregroundColor(.blue)
.frame(width: 200, height: 200)
.scaleEffect(isAnimating ? 1.5 : 1)
.animation(.easeInOut(duration: 1))
.onAppear {
self.isAnimating = true
// 在动画之后执行的函数
self.performAfterAnimation()
}
}
}
func performAfterAnimation() {
// 在动画之后执行的逻辑代码
print("动画结束后执行的函数")
}
}
在上述代码中,我们创建了一个蓝色的矩形,并使用.scaleEffect()
修饰符来实现动画效果。当视图出现在屏幕上时,.onAppear()
修饰符会将isAnimating
状态设置为true
,触发动画,并调用performAfterAnimation()
函数。
请注意,.onAppear()
修饰符只会在视图第一次出现时调用一次。如果你需要在每次动画结束后执行函数,可以考虑使用.animationCompletion()
修饰符,它是一个自定义修饰符,可以在动画完成时执行指定的函数。
希望这个答案对你有帮助!如果你对其他问题有疑问,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云