Вращающаяся анимация

Я поворачиваю стрелку на 45 градусов. Когда анимация заканчивается, стрелка возвращается в исходное состояние (0 градусов). Мне нужно, чтобы стрелка не возвращалась в исходное состояние, и она будет поворачиваться на 45 градусов в конце анимации.

CABasicAnimation *fullRotationShort = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
fullRotationShort.fromValue = [NSNumber numberWithFloat:0];
fullRotationShort.toValue = [NSNumber numberWithFloat:M_PI/28*4.7];
fullRotationShort.duration = 1.0f;
fullRotationShort.repeatCount = 1;
[imgViewArrowShort.layer addAnimation:fullRotationShort forKey:nil];

2 ответа

Решение

Установите свойство:

fullRotationShort.fillMode = kCAFillModeForwards;
fullRotationShort.cumulative = YES;
   fullRotationShort.removedOnCompletion=NO;

Предполагая, что ваша стрелка UIImageView названный arrow,
Вам действительно не нужны такие сложные CAAnimations для этого.

[UIView animateWithDuration:1.0 animations:^{ 
    arrow.transform = CGAffineTransformMakeRotation(0.25 * M_PI);
}];
Другие вопросы по тегам