我想在SwiftUI的ImageView中制作动画
首先,我尝试创建一些变量和一个函数来切换Image("imageVariable")。它确实发生了变化,但没有动画,即使尝试使用withAnimation { }
方法。
其次,我尝试使用UIKit视图。在这里,动画起作用,但我无法应用resizable()
修饰符或设置固定框架。
var images: [UIImage]! = [UIImage(named: "pushup001")!, UIImage(named: "pushup002")!]
let animatedImage = UIImage.animatedImage(with: images, duration: 0.5)
struct workoutAnimation: UIViewRepresentable {
func makeUIView(context: Self.Context) -> UIImageView {
return UIImageView(image: animatedImage)
}
func updateUIView(_ uiView: UIImageView, context: UIViewRepresentableContext<workoutAnimation>) {
}
}
struct WorkoutView: View {
var body: some View {
VStack {
workoutAnimation().aspectRatio(contentMode: .fit)
}
}
}
在方法1中,我可以更改图像但无法进行动画,而在方法2中,我可以进行动画但无法控制其大小。
contentMode
都移动到UIImageView
中呢?这样UIViewRelatable
就可以简单地将内容渲染为View
的全尺寸。 - user7014451