Я анимация UIImageView с использованием базовой анимации iOS «CABasicAnimation», все работает отлично для меня, но единственная проблема заключается в том, когда я одушевляю позицию, после завершения анимации возвращается в исходное положение, где оно было. как я могу это преодолеть? Мне нужно сохранить UIImageView в перемещенном положении.iOS «CABasicAnimation» приносит компонент в исходное положение после завершения анимации
ПРИМЕЧАНИЕ: Я видел несколько вопросов с успешными ответами относительно этого, но я понятия не имею, почему мой не работает, как они говорят.
After rotating a CALayer using CABasicAnimation the layer jumps back to it's unrotated position
Вот мой пример кода,
CGPoint endPt = CGPointMake(160, 53);
CABasicAnimation *anim5 = [CABasicAnimation animationWithKeyPath:@"position"];
[anim5 setBeginTime:CACurrentMediaTime()+0.4];
anim5.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut];
anim5.fromValue = [NSValue valueWithCGPoint:imgRef.layer.position];
anim5.toValue = [NSValue valueWithCGPoint:endPt];
anim5.duration = 1.5;
anim5.speed = 2;
[imgRef.layer addAnimation:anim5 forKey:@"position"];
//this is what other answers ask to do
[anim5 setFillMode:kCAFillModeForwards];
[anim5 setRemovedOnCompletion:NO];
BTW [imgRef.layer setPosition:CGPointMake(160, 53)];
мне не поможет, так как я буду задержки анимации с 4 миллисекунды.
Есть лучший (более простой) способ: http://oleb.net/blog/2012/11/prevent-caanimation-snap-back/ – omz
спасибо, omz, ваше решение исправить мою проблему –
мой тоже спасибо !! – skinsfan00atg