iOS常用的一些动画效果,UIView封装的动画,CALayer的动画等
jopen
10年前
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