1.
Scale изображенияimageView.transform = CGAffineTransform(scaleX: 0.1, y: 0.1)
UIView.animate(withDuration: 0.6,
animations: { [weak self] in
self?.imageView.transform = .identity
})
Появление изображенияimageView.alpha = 0.0
UIView.animate(withDuration: 0.6,
animations: { [weak self] in
self?.imageView.alpha = 1.0
})
2. Функция для вращения UIImageView, Outlet будет в данном примере называться 'imageBackground'.
private let animationRepeatDuration: CFTimeInterval = 2.0
private let rotationAnimatonKey: String = "rotationAnimation"
func animate(completion: @escaping () -> Void) {
CATransaction.begin()
CATransaction.setCompletionBlock { [weak self] in
guard
let rotationAnimatonKey = self?.rotationAnimatonKey,
self?.imageBackground.layer.animation(forKey: rotationAnimatonKey) != nil
else {
completion()
return
}
}
let rotation: CABasicAnimation = CABasicAnimation(keyPath: "transform.rotation.y")
rotation.toValue = NSNumber(value: Double.pi * 2)
rotation.repeatCount = Float.greatestFiniteMagnitude
rotation.repeatDuration = animationRepeatDuration
imageBackground.layer.add(rotation, forKey: rotationAnimatonKey)
CATransaction.commit()
}