iOS 开发--动画

1.普通动画:

[UIView beginAnimations:nil context:nil];

[UIView setAnimationDuration:2];

frame.origin.x += 150;

[img setFrame:frame];

[UIView commitAnimations];

2.连续动画(一系列图像):

NSArray *myImages = [NSArray arrayWithObjects:

[UIImage imageNamed:@"myImage1.png"],

[UIImage imageNamed:@"myImage2.png"],

[UIImage imageNamed:@"myImage3.png"],

[UIImage imageNamed:@"myImage4.png"], nil];

UIImageView *myAnimatedView = [[UIImageView alloc] initWithFrame:[self bounds]];

myAnimatedView.animationImages = myImage;

myAnimatedView.animationRepeatCount = 0;

[myAnimatedView startAnimating];

[self addSubview:myAnimatedView];

[my AnimatedView release];

3.CATransition Public API:

CATransition *animation = [CATransition animation];

animation.duration = 0.5f;

animation.timingFunction = UIViewAnimationCurveEaseInOut;

animation.fillMide = KCAFillModeForwards;

//各种动画效果

/*

KCATransitionFade;

KCATransitionMoveIn;

KCATransitionPush;

KCATransitionReveal;

*/

/*

KCATransitionFromeRight;

KCATransitionFromLeft;

KCATransitionFormTop;

kCATransitionFromButtons;

*/

//各种组合

animation.type = KCATransitionPush;

animation.subtype = KCATransitionFromRight;

[self.view.layer addAnimation:animation forKey:@"animation"];

4.UIView Animations动画:

[UIView beginAnimations:@"animationID" context:nil];

[UIView setAnimationDuration:0.5f];

[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];

[UIView setAnimationRepeatAutoreverses:NO];

//以下四种效果

/*

[UIView setAnimationTransition:UIViewAnimationTransitionFlipFormLeft forView:self.view cache:YES];

[UIView setAnimationTransition:UIViewAnimationTransitionFlipFormRight forView:self.view cache:YES];

[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES];

[UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.view cache:YES];

*/

5.嵌套使用,先变大再消失

[UIView animateWithDuration:1.25 aniamtions:^{

CGAffineTransform newTRansform = CGAffineTransformMakeScale(1.2, 1.2);

[firstImageView setTransform:newTransform];

[secondImageView setTransform:newTransform];

completion:^(BOOL finished){

[UIView animateWithDuration:1.2 animations:^{

[firstImageView setAlpha:0];

[secondImageView setAlpha:0];}

completion:^(BOOL finished){

[firstImageView removeFromSuperview];

[secondImageView removeFromSuperview];}

];}

];

原文地址:https://www.cnblogs.com/wanghuaijun/p/5379255.html