Анимация с UIViews - Objective-C - PullRequest
0 голосов
/ 04 июля 2011

В настоящее время я выяснил, как анимировать изображение в моем UIViewController:

    UIImage *image = [UIImage imageNamed:@"Logo.png"];

    CALayer *logoLayer = [CALayer layer];
    logoLayer.bounds = CGRectMake(0, 0, image.size.width, image.size.height);
    logoLayer.position = CGPointMake(300, 216);
    logoLayer.contents = (id)image.CGImage;
    CAKeyframeAnimation *moveAnimation = [CAKeyframeAnimation animationWithKeyPath:@"position"];
    moveAnimation.path = path.CGPath;
    moveAnimation.duration = 2.0f;
    [logoLayer addAnimation:moveAnimation forKey:@"moveAnimation"]; 

    CAAnimationGroup *animationGroup = [CAAnimationGroup animation];
    animationGroup.duration = 2.0f;
    animationGroup.autoreverses = NO;
    animationGroup.repeatCount = 1; //HUGE_VALF
    [animationGroup setAnimations:[NSArray arrayWithObjects: moveAnimation, nil]];

    [logoLayer addAnimation:animationGroup forKey:@"animationGroup"];

Но это основано на logoLayer, который является изображением. Как я мог оживить что-то подобное, но для UIView? Например, UIButton?

1 Ответ

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

В общем, вместо использования CAAnimation s на CALayer s, вы можете использовать UIView animation .Существуют способы установить кривую анимации, задержку, повтор, реверсирование и т. Д. С помощью блочной анимации API или старого API на основе делегатов.

Что касается вашего конкретного случаяCAKeyframeAnimation, вы можете попробовать ответить на этот вопрос .

...