2013-10-03 3 views
2

Есть ли способ изменить значения повторяющегося CABasicAnimation во время его анимации?Медленный CABasicAnimation вниз, пока он анимируется

Поэтому у меня есть следующий встряхивания анимации:

CABasicAnimation * shake=[CABasicAnimation animationWithKeyPath:@"position"]; 
[shake setDuration:0.05]; 
[shake setRepeatCount:130]; 
[shake setAutoreverses:YES]; 
[shake setFromValue:[NSValue valueWithCGPoint:CGPointMake([clock center].x-12.0f, [clock center].y)]]; 
[shake setToValue:[NSValue valueWithCGPoint:CGPointMake([clock center].x+12.0f, [clock center].y)]]; 
[shake setDelegate:self]; 
[[clock layer] addAnimation:shake forKey:@"position"]; 

Я хочу встряхивая, чтобы замедлить к концу этой анимации. Я думаю, что это можно сделать, если я смогу настроить duration во время повторения анимации, но я не могу найти этого.

Моя вторая мысль состояла в том, чтобы иметь несколько анимаций, один за другим, причем каждая анимация имеет немного большую продолжительность, чем предыдущая. Но я надеюсь, что есть более элегантный способ сделать это.

ответ

4

Вы можете настроить свой собственный timingFunction на анимацию, которая позволяет вам подробно указать полный профиль анимации. Ознакомьтесь с классом CAMediaTimingFunction.

+2

'speed' - хорошая собственность, чтобы поиграть с ним :) –

Смежные вопросы