2016-06-06 3 views
1

Нажатие кнопки Я использую эту строку кода, чтобы повернуть мой UIImageView. Но он работает только один раз. Как я могу сделать это бесконечность раз в каждом нажатии кнопки?Почему UIImageView вращается только один раз?

self.imageView.transform = CGAffineTransformMakeRotation(CGFloat(M_PI_2)) 

ответ

3

Вы должны использовать CGAffineTransformRotate вместо CGAffineTransformMakeRotation:

func rotateImageView() { 
    UIView.animateWithDuration(1, delay: 0, options: UIViewAnimationOptions.CurveLinear, animations: {() -> Void in 
       self.imageView.transform = CGAffineTransformRotate(self.imageView.transform, CGFloat(M_PI_2)) 
       }) { (finished) -> Void in 
        if finished { 
         self.rotateImageView() 
        } 
     } 
} 

Если вы хотите, чтобы остановить его, вы можете позвонить:

self.imageView.layer.removeAllAnimations() 
+0

Dont использовать 'UIViewAnimationOptions.Repeat', потому что в конце в анимации он сбрасывает преобразование, заставляя просмотр вернуться к исходному положению, нехорошо видеть. –

Смежные вопросы