Движущееся изображение 360 градусов - PullRequest
0 голосов
/ 06 октября 2009

Как мы можем переместить изображение на 360 градусов от начальной точки к конечной точке? Движущееся изображение 360 градусов?

Ответы [ 3 ]

1 голос
/ 06 октября 2009

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

1 голос
/ 06 октября 2009

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

- (void) runSpinAnimationWithDuration:(CGFloat) duration;
{
    CABasicAnimation* rotationAnimation;
    rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
    rotationAnimation.toValue = [NSNumber numberWithFloat: M_PI * 2.0 /* full rotation*/ * rotations * duration ];
    rotationAnimation.duration = duration;
    rotationAnimation.cumulative = YES;
    rotationAnimation.repeatCount = 1.0; 
    rotationAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut];

    [myView.layer addAnimation:rotationAnimation forKey:@"rotationAnimation"];
}
0 голосов
/ 17 марта 2011

Для этого вы также можете использовать функцию анимации (CAValueFunction):

CABasicAnimation *rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform"];
rotationAnimation.duration = duration;
rotationAnimation.fromValue = [NSNumber numberWithFloat:0.0];
rotationAnimation.toValue = [NSNumber numberWithFloat:M_PI * 2.0];
rotationAnimation.valueFunction = [CAValueFunction functionWithName:kCAValueFunctionRotateZ];
rotationAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut];

[myView.layer addAnimation:rotationAnimation forKey:nil];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...