Анимировать фоновое изображение непрерывно в цикле, используя Swift, UIKit
Я хочу анимировать следующее фоновое изображение, когда оно опускается вниз, оно должно снова подняться. Я хочу анимировать только одно изображение. Каким-то образом изображение не видно, когда я запускаю код. Размеры изображения следующие: ширина: 375 и высота: 666
Вот изображение
Вот код
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var myView: UIView!
var water:UIImageView!
var hover:CABasicAnimation!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
water = UIImageView(image: UIImage(named: "water"))
water.frame = CGRect(x: 0, y: 0, width: 375.0, height: 666.0)
water.contentMode = .scaleAspectFill
UIView.animate(withDuration: 4.0, delay: 0, options: UIViewAnimationOptions.curveLinear, animations: {
self.water.frame.origin.y = self.view.bounds.height + self.water.frame.height - 50
}, completion: nil)
self.view.insertSubview(water, aboveSubview: myView)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
1 ответ
Решение
Ты можешь использовать [.repeat, .autoreverse]
параметры в вашей анимации
UIView.animate(withDuration: 4.0, delay: 0, options: [.repeat, .autoreverse, .curveLinear], animations: {
self.water.frame.origin.y = self.view.bounds.height + self.water.frame.height - 50
}, completion: nil)
Надеюсь, это поможет.:)