Вращающаяся анимация
Я поворачиваю стрелку на 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);
}];