在SwiftUI中,如果你想在图像上重复动画,可以使用Animation
和repeatForever
方法来实现。以下是一个简单的示例,展示了如何在SwiftUI中的图像上创建一个无限重复的旋转动画。
repeatForever
属性,可以让动画无限次地重复执行。import SwiftUI
struct ContentView: View {
@State private var rotationAngle: Double = 0.0
var body: some View {
Image("your-image-name")
.resizable()
.scaledToFit()
.rotationEffect(.degrees(rotationAngle))
.animation(
Animation.linear(duration: 2.0)
.repeatForever(autoreverses: false),
value: rotationAngle
)
.onAppear {
self.rotationAngle = 360.0
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
@State private var rotationAngle: Double = 0.0
用于跟踪图像的旋转角度。Image("your-image-name")
加载图像,并通过.resizable()
和.scaledToFit()
使其可调整大小并适应容器。.rotationEffect(.degrees(rotationAngle))
根据rotationAngle
的值旋转图像。.animation(...)
应用动画效果,其中Animation.linear(duration: 2.0).repeatForever(autoreverses: false)
定义了一个持续2秒的线性动画,并设置为无限重复且不自动反转。.onAppear {...}
确保当视图出现时,rotationAngle
被设置为360度,从而启动动画。这种动画效果常用于需要吸引用户注意力或者展示动态内容的场景,例如:
通过上述方法,你可以在SwiftUI中实现图像的平滑且连续的动画效果。
领取专属 10元无门槛券
手把手带您无忧上云