1.UIView封装的动画
1>
首尾式
[UIView
beginAnimations:nil context:nil];
[UIView
commitAnimations];
2>
block
[UIView
animateWithDuration:0.5 animations:^{
}
completion:^(
BOOL
finished) {
}];
3>
转场动画(过渡动画)
[UIView
transitionWithView:<#(UIView *)#> duration:<#(NSTimeInterval)#> options:<#(UIViewAnimationOptions)#> animations:<#^(
void
)animations#>
completion:<#^(
BOOL
finished)completion#>];
2.CALayer的动画
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,在刷帧方法完成需要执行的动画