Как повернуть это представление к определенному значению в радианах или градусах? - PullRequest
0 голосов
/ 02 февраля 2010

Что это за 0: 1? Как я могу повернуть слой абсолютно до 170 градусов, например?

CALayer* viewLayer = myView.layer;
    CABasicAnimation* animation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];

    animation.fromValue = [NSNumber numberWithFloat:0.0 * M_PI];
    animation.toValue = [NSNumber numberWithFloat:1.0 * M_PI];

    animation.duration = 1.0;
    animation.cumulative = YES;
    animation.repeatCount = 2;
    animation.removedOnCompletion = NO;
    animation.fillMode = kCAFillModeForwards;

    [viewLayer addAnimation:animation forKey:@"transform.rotation.z"];

1 Ответ

1 голос
/ 02 февраля 2010

Не зная Какао, я бы сказал, что toValue определяет радиан вращения 1.0Pi. В 360 градусах есть 2Pi радиана. Следовательно 1.0Pi представляет 180 градусов. Чтобы получить вращение на 170 градусов, я бы установил значение

animation.toValue = [NSNumber numberWithFloat:(170.0/180.0) * M_PI];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...