SwiftUI 动画
SwiftUI animation
我试图在不使用 scaleEffect
修改高度的情况下仅在 x 比例下为矩形制作动画,但没有任何成功。 scaleEffect
是否仅适用于 x、y 两个维度,还是我们可以仅将其应用于一个维度?我尝试应用 scaleEffec
t (x,y) 但它不起作用。
Rectangle()
.fill(Color.pink)
.frame(width: 100, height: 100)
.scaleEffect( self.isAnimating ? 1 : 2)
.animation(Animation.linear(duration: 1))
.onAppear {
self.isAnimating = true
}
您可以将 scaleEffect
与 CGSize 一起使用:
func scaleEffect(_ scale: CGSize, anchor: UnitPoint = .center) -> some View
这会给你想要的效果:
Rectangle()
.fill(Color.pink)
.frame(width: 100, height: 100)
.scaleEffect(isAnimating ? CGSize(width: 2.0, height: 1.0) : CGSize(width: 1.0, height: 1.0))
.animation(Animation.linear(duration: 1))
.onAppear {
isAnimating = true
}
我试图在不使用 scaleEffect
修改高度的情况下仅在 x 比例下为矩形制作动画,但没有任何成功。 scaleEffect
是否仅适用于 x、y 两个维度,还是我们可以仅将其应用于一个维度?我尝试应用 scaleEffec
t (x,y) 但它不起作用。
Rectangle()
.fill(Color.pink)
.frame(width: 100, height: 100)
.scaleEffect( self.isAnimating ? 1 : 2)
.animation(Animation.linear(duration: 1))
.onAppear {
self.isAnimating = true
}
您可以将 scaleEffect
与 CGSize 一起使用:
func scaleEffect(_ scale: CGSize, anchor: UnitPoint = .center) -> some View
这会给你想要的效果:
Rectangle()
.fill(Color.pink)
.frame(width: 100, height: 100)
.scaleEffect(isAnimating ? CGSize(width: 2.0, height: 1.0) : CGSize(width: 1.0, height: 1.0))
.animation(Animation.linear(duration: 1))
.onAppear {
isAnimating = true
}