将图像调整为初始大小
问题描述:
我正在使用2个动画。 当屏幕启动时,第一个动画开始于viewDidLoad
。将图像调整为初始大小
这个动画只适用于称为layer2
和layer3
的2张图片。
layer0
图像0
func firstAnimation(){
UIView.animate(withDuration: 1, delay: 0, options:
UIViewAnimationOptions.repeat , animations: {
self.layer2.transform = CGAffineTransform(scaleX: 1.5, y: 1.5)
self.layer3.transform = CGAffineTransform(scaleX: 2, y: 2)
}, completion: { finished in
})
}
,然后firstAnimation
()被停止由该代码:
layer2.layer.removeAllAnimations()
layer3.layer.removeAllAnimations()
和不同的动画被施加到layer2
和layer3
。
第二动画
func secondAnimation() {
UIView.animate(withDuration: 20, delay: 0, options:
UIViewAnimationOptions.curveEaseOut , animations: {
self.layer2.transform = CGAffineTransform(scaleX: 10, y: 10)
self.layer3.transform = CGAffineTransform(scaleX: 10, y: 10)
}, completion: { finished in
})
}
当我想再次删除第二个动画并推出第一个,2个图像二层,三层是从他们获得的,因为第二动画的大小开始。如何使用图像的初始大小重新启动第一个动画?
答
您可以使用CGAffineTransform.identity
重置已转换为原始比例的视图。
例如:
layer2.transform = .identity
一个完美的解决方案。谢谢你。 – mahdi