Цепочка анимации не работает должным образом в SwiftUI
Я хочу создать пульсирующий круг с постоянно повторяющейся анимацией. Он должен иметь постепенное изменение размера и мгновенное изменение цвета при изменении направления анимации. У меня есть две разные анимации для этого, но только последняя влияет на обе (размер и изменение цвета).
struct SwiftUIView: View {
@State private var animationStarted = false
let side = UIScreen.main.bounds.size.width
let animation1 = Animation.easeInOut(duration: 0.3).delay(5.7)
.repeatForever(autoreverses: true)
let animation2 = Animation.easeInOut(duration: 6)
.repeatForever(autoreverses: true)
var body: some View {
HStack {
VStack {
HStack {
Circle()
.foregroundColor(self.animationStarted ? Color.pink : Color.blue)
.animation(animation1)
.frame(width: self.animationStarted ? 10 : side, height: self.animationStarted ? 10 : side)
.animation(animation2)
.onAppear {
self.animationStarted.toggle()
}
}
}.frame(height: side)
}.frame(width: side)
}
}