一種是UIKit動(dòng)畫(huà),用于簡(jiǎn)單的動(dòng)畫(huà),例如位置,大小,透明度變化等。
另一種是Core Animation動(dòng)畫(huà),用于自定義,復(fù)雜的動(dòng)畫(huà),可定義性強(qiáng),裝 B必備技能。
UIKit 提供出來(lái)的動(dòng)畫(huà)主要是基于UIView的:
使用方法有兩種:
其中一種:
[UIView beginAnimations:@"animation" context:nil];
....
[UIView commitAnimations];
另一種:
[UIView animateWithDuration:0.5
delay:0
options:UIViewAnimationOptionCurveEaseIn
animations:^{
} completion:^(BOOL complete){
}];
Core Animation動(dòng)畫(huà)提供的動(dòng)畫(huà)略屌,大致有三類:
CABasicAnimation 基本型動(dòng)畫(huà):
CABasicAnimation *animation=[CABasicAnimation animation];
[view.layer addAnimation:animation forKey:@"position"];
CAKeyframeAnimation關(guān)鍵幀動(dòng)畫(huà),類似于flash,一幀幀連起來(lái)組成動(dòng)畫(huà)效果:
CAKeyframeAnimation *animation=[CAKeyframeAnimation animation];
[view.layer addAnimation:animation forKey:@"position"];
CATransitionAnimation轉(zhuǎn)換動(dòng)畫(huà),可以結(jié)合CGMutablePathRef來(lái)定制動(dòng)畫(huà)移動(dòng)的軌跡:
CAKeyframeAnimation *animation=[CAKeyframeAnimation animation];
animation.path=animationPath;
[view.layer addAnimation:animation forKey:@"position"];