【发布时间】:2022-08-18 18:43:27
【问题描述】:
我有这个动画代码:
struct CheckmarkAnimation: View {
@State private var isAnimating = false
var body: some View {
ZStack {
Circle()
.trim(to: isAnimating ? 1:0)
.stroke(.green, lineWidth: 3)
.frame(width: 100, height: 100)
.animation(.easeInOut(duration: 1), value: isAnimating)
Image(systemName: \"checkmark\")
.foregroundColor(.green)
.font(.largeTitle)
.scaleEffect(isAnimating ? 1.5 : 0)
.animation(.spring(response: 0.5, dampingFraction: 0.4).delay(1), value: isAnimating)
}
.onAppear {
isAnimating.toggle()
}
}
}
我希望这个视图在复选标记上的缩放效果结束后消失。我该怎么做呢?
-
哪种观点?如果您的意思是
CheckmarkAnimation,那么它不应该在这里,而是在父视图中。 -
您可能有另一个布尔值
shouldAppear,并使用DispatchQueue.main.asyncAfter(deadline:execute:)来切换它。 -
谢谢! DispatchQueue.main.asyncAfter(deadline: .now() + 2.0) {shouldAppear = true} 完成这项工作。