ios CoreAnimation - PullRequest
       1

ios CoreAnimation

1 голос
/ 29 июля 2011

Я пытаюсь наклонить объектные карты, это UIView, который я делаю:

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:DEPLACEMENT_ANIMATION_DUREE_SECONDES_DROITE];
scene.carte17.layer.position = positionInit;
if (scene.carte17.angleCarte == 15.f) {
    scene.carte17.transform = CGAffineTransformRotate(scene.carte17.transform, degreesToRadians(30));
    scene.carte17.angleCarte = 45.f;
}
[UIView commitAnimations];

И это работает! Моя карта наклоняется до 30 ° и это хорошо. Я играю с setAnimationDuration для управления скоростью.

Я бы хотел использовать CoreAnimation и kCAMediaTimingFunctionEaseInEaseOut, чтобы улучшить анимацию, но я не согласен с тем же мнением, что и основная анимация, которую я пробую:

[CATransaction begin];
[CATransaction setAnimationDuration:.5f];
[CATransaction setAnimationTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
scene.carte17.layer.position = positionInit;
if (scene.carte17.angleCarte == 15.f) {
    CABasicAnimation *animation;
    animation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
    animation.fromValue = [NSNumber numberWithFloat:0.0];
    animation.toValue = [NSValue valueWithCGAffineTransform:CGAffineTransformRotate(scene.carte17.transform, degreesToRadians(30))];
    animation.timingFunction = [CAMediaTimingFunction functionWithName: kCAMediaTimingFunctionEaseInEaseOut];
    animation.delegate = self;
    [scene.carte17.layer addAnimation:animation forKey:@"rotationAnimation"];

    scene.carte17.angleCarte = 45.f;
}
[CATransaction commit];

Но это не работает ... Не могли бы вы помочь мне, пожалуйста!

1 Ответ

0 голосов
/ 30 июля 2011

Почему бы просто не назвать это:

[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];

Но это перебор, поскольку UIViewAnimationCurveEaseInOut является значением по умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...