iOS常用的一些动画效果,UIView封装的动画,CALayer的动画等

jopen 9年前

1.UIView封装的动画  1> 首尾式  [UIView beginAnimations:nil context:nil];  // ... 需要执行怎样的动画  [UIView commitAnimations];    2> block  [UIView animateWithDuration:0.5 animations:^{      // 需要执行的动画  } completion:^(BOOL finished) {      // 动画完成  }];    3> 转场动画(过渡动画)  // 让某个view执行转场动画  [UIView transitionWithView:<#(UIView *)#> duration:<#(NSTimeInterval)#> options:<#(UIViewAnimationOptions)#> animations:<#^(void)animations#> completion:<#^(BOOL finished)completion#>];    2.CALayer的动画  // CABasicAnimation和CAKeyframeAnimation的keyPath可以是哪些值?  // 在xcode文档搜索:CALayer Animatable Properties  // transform的具体属性:搜索catransform3d key path  1> CABasicAnimation  * fromValue  初始值   * toValue  最终值  (从初始化变化到最后某一个值)  * byValue  步进值  (在初始值的基础上,增加多少值)    2> CAKeyframeAnimation  * values    3> CATransition(转场动画)  CATransition *anim = [CATransition animation];  anim.type = @"cube";  anim.subtype = kCATransitionFromBottom;  [view.layer addAnimation:anim forKey:nil];    4> CAAnimationGroup  * 动画,可以同时执行多个动画    3.如何选择动画  1> 如果需要重复执行多次动画,最好选择CALayer动画  2> 如果动画执行完毕后,就要用到前面的一些东西,最好选择UIView的block动画  3> 如果需要同时执行多个动画,最好选择CAAnimationGroup  4> UIView动画和CALayer动画中最灵活的是CALayer的动画    4.自定义一些动画  用CADisplayLink,在刷帧方法完成需要执行的动画
来自:http://blog.csdn.net/dylan_lwb_/article/details/39369495