С UIView.animateWithDuration иногда неудобно реализовать, я создал способ для выполнения анимации, с последовательностями и группами легче , Вы можете посмотреть здесь: GitHub - UIAnimation . Это версия SKAction от UIKit.
Используя этот UIAnimation способ осуществить то, что вы хотите, будет:
//imgView is your UIImageView
let positioning = UIAnimation.moveTo(CGPointMake(view.frame.width+imgView.frame.width/2,view.frame.height/2), duration: 0) //put the UIView on the right side of the screen
let movement = UIAnimation.moveTo(CGPointMake(-imgView.frame.width/2),view.frame.height/2), duration: 5) //moves the UIView to the left side of the screen
let animation = UIAnimation.sequence([positioning,movement]) //do them sequentially
let foreverAnimation = UIAnimation.repeatAnimationForever(animation) //repeat the sequence forever
imgView.runAnimation(foreverAnimation) //start the animation
Самое интересное здесь то, что вы можете хранить «foreverAnimation» в переменной и использовать его для всех imageViews вы хотите переехать. Вам просто нужно вызвать runAnimation.
Надеюсь, это поможет. Если у вас есть какие-либо проблемы или предложения относительно сценария, свяжитесь со мной пожалуйста. =
Вы имеете в виду просто переместить UIImageView? –
На самом деле это способ имитировать бесконечную рабочую среду без использования CABasicAnimation. У меня есть актив в UIImageView. – iDeC
, поэтому у вас есть несколько изображений, которые вы хотите использовать в одном UIImageView или у вас есть только одно изображение, и вам нужно переместить UIImageView для достижения желаемого эффекта? –