кривая Анимация направление вращения?

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

CGMutablePathRef path = CGPathCreateMutable(); 
CGPathAddArc(path, NULL,viewFormsUI.center.x,viewFormsUI.center.y, 
                     88,radianOf(243),radianOf(0), YES); //viewFormsUI is an UIView 
CAKeyframeAnimation *animation = [CAKeyframeAnimation animationWithKeyPath:@"position"]; 
[animation setPath:path]; 
[animation setDuration:1];
animation.removedOnCompletion = YES;
animation.fillMode = kCAFillModeForwards; 
[animation setAutoreverses:NO];
CFRelease(path); 
[btnRefreshUI.layer addAnimation:animation forKey:@"curveAnimation"];
                             //btnRefreshUI is an UIButton

radianOf — это функция, которая преобразует угол в радианы (просто верните значение M_PI*(угол/180))

Но проблема в том, что UIElement вращается против часовой стрелки. Я не могу найти ошибку в своем коде, помогите мне коллеги.


person vignesh kumar    schedule 01.11.2012    source источник
comment
Что произойдет, если вы измените radianOf(0) на radianOf(360)?   -  person rmaddy    schedule 01.11.2012
comment
@rmaddy вращается против часовой стрелки от 0 до 360   -  person vignesh kumar    schedule 01.11.2012
comment
Я имел в виду, что произойдет, если вы сделаете CGPathAddArc(path, NULL,viewFormsUI.center.x,viewFormsUI.center.y, 88,radianOf(243),radianOf(360), YES);   -  person rmaddy    schedule 01.11.2012
comment
@rmaddy все еще в направлении против часовой стрелки   -  person vignesh kumar    schedule 01.11.2012


Ответы (1)


CGPathAddArc(path, NULL, viewFormsUI.center.x, viewFormsUI.center.y, 88, radianOf(243), radianOf(0), ДА);

попробуйте просто изменить YES на NO

CGPathAddArc(path, NULL, viewFormsUI.center.x, viewFormsUI.center.y, 88, radianOf(243), radianOf(0), НЕТ);

это - буль по часовой стрелке

person Boyan Jakimov    schedule 22.11.2013