Как сделать непрерывную анимацию UIView - PullRequest
0 голосов
/ 07 ноября 2011

Я хочу получить эффект от UIView, выполняющего вращение на 360 градусов вокруг оси Y без остановки.

1 Ответ

1 голос
/ 08 ноября 2011

Поместите следующий код в ваш контроллер представления:

CATransform3D t3d = CATransform3DIdentity;
// m34 sets the amount of perspective
t3d.m34 = 1.0/-1000.0;

[UIView animateWithDuration:1.0 
                      delay:0.0 
                    options:UIViewAnimationCurveLinear 
                 animations:^{
                     self.view.layer.transform = CATransform3DRotate(t3d, M_PI, 0, 1, 0);
                 } 
                 completion:^(BOOL finished) {
                     [UIView animateWithDuration:1.0 
                                           delay:0.0 
                                         options:UIViewAnimationCurveLinear 
                                      animations:^{
                                          self.view.layer.transform = CATransform3DRotate(t3d, 2*M_PI, 0, 1, 0);
                                      } 
                                      completion:^(BOOL finished) {
                                          self.view.layer.transform = CATransform3DIdentity;
                                      }];
                 }];

Это довольно грязно, если у кого-нибудь есть какие-либо предложения о том, как это исправить, сообщите мне;)

...