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,在刷帧方法完成需要执行的动画