动画必须先朝一个方向前进,然后朝相反方向泛滥。按下一个按钮后。没有无尽的动画。
现在它只向一个方向移动。怎么修?
@State private var anim: Bool = true
TextField("description", text: $descr)
.blur(radius: anim ? 0 : 10)
.animation(.easeInOut)
Button("Commit"){
if (self.descr == "")
{
withAnimation(.easeInOut(duration: 4)) {
self.anim.toggle()
}
}
}
制作一个单独的重复动画并使用它。
您的代码示例:
底线是在需要时使用无限重复动画,不需要时将其移除。
不幸的是,SwiftUI 中的动画没有完成块或类似的东西来编写 .onAnimationCompleted { // Some work... }。
因此,我们将做一些额外的手势并包装 TextField 以便它完成我们需要的操作:
结果
用英语 SO 提出了一个更优雅的解决方案
和示例用法: