【发布时间】:2017-09-15 13:29:09
【问题描述】:
我正在使用 2 个动画。
当屏幕启动时,第一个动画在viewDidLoad 开始。
此动画应用于 2 个名为 layer2 和 layer3 的图像。
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
})
}
当一个名为layer0 的图像被长按时,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
})
}
当我想删除第二个动画并再次启动第一个动画时,两个图像 layer2 和 layer3 是从它们因第二个动画而获得的大小开始的。如何使用图像的初始大小重新启动第一个动画?
【问题讨论】:
标签: swift image animation size scale