IOS学习动画一之UIKit动画

  

IOS的普通动画可使用UIKit提供的动画方式;

,,,,,,,,,复杂动画可使用核心动画。


1,通过动画上下文使用UIKit动画

- (void) animationOfUIKit , {,,   ,,,UIView  * redView=[[UIView  alloc] initWithFrame: CGRectMake(10日,10日,100年,100年)];,,   ,,,,,   ,,,(self.view  addSubview: redView];,,   ,,,//开始动画,,   ,,,(UIView  beginAnimations: @“测试”,背景:nil);,,   ,,,//动画时长,,   ,,,(UIView  setAnimationDuration: 1),,,   ,,,//设置动画淡入淡出,,   ,,,(UIView  setAnimationCurve: UIViewAnimationCurveEaseInOut];,   ,,,/*,,   ,,,,*要进行动画设置的地方,,   ,,,,*/,,   ,,,redView.backgroundColor=[UIColor  blueColor];,,   ,,,redView.frame=CGRectMake(50岁,50岁,200年,200年),,,   ,,,redView.alpha=0.5;   ,,,//动画结束,,   ,,,(UIView  commitAnimations];,,   }


2,通过代码块使用UIKit动画

- (void) animationOfBlock , {,,   ,,,//初始化一个观点,用来显示动画,,   ,,,UIView  * redView=[[UIView  alloc] initWithFrame: CGRectMake(10日,10日,100年,100年)];   ,,,(self.view  addSubview: redView];,,   ,,   ,,,(UIView  animateWithDuration: 1,//时长,,   ,,,,,,,,,,,,,,,,延迟:0,//延迟时间,,   ,,,,,,,,,,,,,,,,选择:UIViewAnimationOptionTransitionFlipFromLeft//动画效果,,   ,,,,,,,,,,,,,,,,动画:^ {   ,,,,,,,,,,,,,,,,,,,,,,,,//动画设置区域,,   ,,,,,,,,,,,,,,,,,,,,,,,,redView.backgroundColor=[UIColor  blueColor];,,   ,,,,,,,,,,,,,,,,,,,,,,,,redView.frame=CGRectMake(50岁,50岁,200年,200年),,,   ,,,,,,,,,,,,,,,,,,,,,,,,redView.alpha=0.5,,,   ,,,,,,,,,,,,,,,,,,,,},完成:^ (BOOL 完成){,,   ,,,,,,,,,,,,,,,,,,,,,,//动画结束时调用,,   ,,,,,,,,,,,,,,,,,,,,}];   }


3, UIView的,翻转,旋转,偏移,翻页,缩放、取反的动画效果

CoreGraphics框架中的CGAffineTransform类可用于设定UIView属的变换性,控制视图的缩放,旋转和平移等操作(另称为放射变换矩阵),这种动画都是针对视图的原定最初位置的中心点为起始参照进行相应操作的,在操作结束之后可对设置量进行还原:

view.transform=CGAffineTransformIdentity;


翻转的动画

,,,,//开始动画,,   ,,(UIView  beginAnimations: @“doflip”,背景:nil);,,   ,,//设置时常,,   ,,[UIView  setAnimationDuration: 1];,,   ,,//设置动画淡入淡出,,   ,,[UIView  setAnimationCurve: UIViewAnimationCurveEaseInOut];,,   ,,//设置代理,,   ,,(UIView  setAnimationDelegate:自我),,,   ,,//设置翻转方向,,   ,,(UIView  setAnimationTransition: UIViewAnimationTransitionFlipFromLeft  forView: manImageView 缓存:是的),,,   ,,//动画结束,,   ,,[UIView  commitAnimations];


旋转动画

//创建一个CGAffineTransform ,变换对象,,   CGAffineTransform ,变换,,,,//设置旋转度数,,   时间=transform  CGAffineTransformRotate (manImageView.transform M_PI/6.0);,,//动画开始,,   [UIView  beginAnimations: @“旋转”,背景:nil ];,,//动画时常,,   [UIView  setAnimationDuration: 2];,,   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

IOS学习动画一之UIKit动画