CAKeyFrameAnimation не повторяется - PullRequest
0 голосов
/ 30 декабря 2011

Привет, у меня есть шкала CAKeyFrameAnimation, которая заставляет объект уменьшаться от полного размера (1) до почти ничего (0,01)

Тогда это называется:

- (void)animationDidStop:(CAKeyframeAnimation *)anim finished:(BOOL)flag
{

 [self setHidden:YES];

}

Кажетсячтобы скрыть объект, но не перед тем, как он снова появится в полноразмерном виде в полноразмерном виде, что преобразует эффект постепенного исчезновения в маленький / ничто: P

Как мне остановить анимацию от перехода к кадру1 для "animationDidStop" называется?Спасибо!

Ответы [ 2 ]

1 голос
/ 30 декабря 2011

Полагаю, вам нужно установить свойство fillMode вашей анимации на kCAFillModeForwards.Это должно заморозить анимации в их конце.

Еще одно предложение (и, честно говоря, это то, что я обычно делаю), это просто установить свойства самого слоя в их конечное положение после настройки анимации.Таким образом, когда анимация будет удалена, слой будет по-прежнему иметь конечные свойства как часть своей модели.

0 голосов
/ 30 декабря 2011
  1. Вы можете установить свойство объекта .scale вместо CAKeyframeAnimation.
  2. Вы можете отключить анимацию и установить целевой масштаб после создания CAKeyframeAnimation.
  3. Вы можете установить scale (0.1) в методе animationDidStop (не уверен, будет ли он работать)

Смысл в том, чтобы установить целевые свойства объекта. Он прыгает к ним после завершения анимации.

...