今天看啥
热点:

iOS开发之动画编程的几种方法,ios开发几种方法


iOS开发之动画编程的几种方法

IOS中的动画总结来说有五种:UIView<block>,CAAnimation<CABasicAnimation,CATransition,CAKeyframeAnimation>,NSTimer

这里我就总结了一下这五种方法,其实iOS开发中动画的编程都会在这里面变化,所以只要弄懂了这些动画编程就不难了。

 

一:UIView动画

一般方式

  • typedef enum {
  • UIViewAnimationTransitionNone, //普通状态
  • UIViewAnimationTransitionFlipFromLeft, //从左往右翻转
  • UIViewAnimationTransitionFlipFromRight, //从右往左翻转
  • UIViewAnimationTransitionCurlUp, //向上翻页
  • UIViewAnimationTransitionCurlDown, //向下翻页
  • } UIViewAnimationTransition;
  • typedef enum {
  • UIViewAnimationCurveEaseInOut,
  • UIViewAnimationCurveEaseIn,
  • UIViewAnimationCurveEaseOut,
  • UIViewAnimationCurveLinear
  • } UIViewAnimationCurve;

 

这里我实现了一个自定义的动画方法,方便使用,只需要调用就可以实现很好的功能。

 

方法的实现

-(void)UIViewAnimation:(UIView* )view frame:(CGRect)frame type:(int)type alpha:(float)alpha duration:(float)duration

{

//将对应的参数实现在方法中,调用的时候只需要输入方法中所需要的参数就能很好的调用这个方法,并且实现想要的功能!

    [UIView beginAnimations:nil context:nil];

    [UIView setAnimationDuration:duration];

    [UIView setAnimationCurve:type];

    [UIView setAnimationDelegate:self];

    view.alpha=alpha;

    view.frame=frame;

    [UIView commitAnimations];

}

调用方法

[self UIViewAnimation:downView frame:CGRectMake(0, height, 320, 58) type:UIViewAnimationCurveEaseOut alpha:1 duration:0.3];

 

Block方式

 

 高级一点的block动画(Next)内嵌

- (void)changeUIView{       [UIView animateWithDuration:2  delay:0   options:UIViewAnimationOptionCurveEaseOut animations:^(void){           moveView.alpha = 0.0;         }completion:^(BOOL finished){                 [UIView animateWithDuration:1 delay:1.0   options:UIViewAnimationOptionAutoreverse | UIViewAnimationOptionRepeat    animations:^(void){                [UIView setAnimationRepeatCount:2.5];                     moveView.alpha = 1.0;                 }completion:^(BOOL finished){                               }];            }];   }  

 

二:.CAAnimation

需要添加库,和包含头文件

caanimation有多个子类

CABasicAnimation

 

CAKeyframeAnimation

 

CATransition

  • /*
  • kCATransitionFade;
  • kCATransitionMoveIn;
  • kCATransitionPush;
  • kCATransitionReveal;
  • */
  • /*
  • kCATransitionFromRight;
  • kCATransitionFromLeft;
  • kCATransitionFromTop;
  • kCATransitionFromBottom;
  • */
  • /*
  • cube
  • suckEffect 卷走
  • oglFlip 翻转
  • rippleEffect 水波
  • pageCurl 翻页
  • pageUnCurl
  • cameraIrisHollowOpen
  • cameraIrisHollowClose
  • */

 

三:NSTimer

这是一种定时器来操作动画的方法,他可以结合上面的方法来实现动画的多样化!

  • }
  • www.bkjia.comtruehttp://www.bkjia.com/IOSjc/986949.htmlTechArticleiOS开发之动画编程的几种方法,ios开发几种方法 iOS开发之动画编程的几种方法 IOS中的动画总结来说有五种:UIViewblock,CAAnimationCABasicAnima...

    相关文章

    相关搜索: 启动项

    帮客评论

    视觉看点