iOS中有許許多多的動畫方式今天先給你們介紹最簡單的兩種:頭尾式動畫和幀動畫數組
一. 所謂頭尾式動畫,顧名思義,就是在須要動畫的代碼開始的時候設置開始動畫,在須要動畫的代碼結束的時候結束動畫,這就是簡單的頭尾式動畫,二話很少說,上代碼:動畫
//開始動畫 [UIView beginAnimations:nil context:nil]; //設置動畫延遲執行時間
[UIView setAnimationDelay:2];
//設置動畫執行過程須要時間
[UIView setAnimationDuration:2]; //這裏加須要動畫的代碼 //結束動畫 [UIView commitAnimations];
二. 幀動畫,相信對作flash的人來講幀動畫至關熟悉,相信你們都記得小時候看過的動畫,那些動畫就是由一頁一頁的圖案組成,而後快速的進行切換,在咱們的視覺感官上就造成了動畫!幀動畫須要不少一幀一幀的圖片.atom
@interface ViewController () @property (nonatomic,weak)UIImageView *imgView; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; //imgView.animationImages = "裝有幀動畫須要的圖片的數組" //設置動畫重複次數 self.imgView.animationRepeatCount = 1; //設置動畫播放時間(2秒) self.imgView.animationDuration = 2; //開始動畫 [self.imgView startAnimating]; //可是這種動畫須要佔用很大內存,因此在播放完畢後要清空內存,可是清空內存的時候要加延遲時間,不然動畫尚未播放就已經釋放了 CGFloat delay = self.imgView.animationDuration +1.0; [self performSelector:@selector(clearCache) withObject:nil afterDelay:delay]; } - (void)clearCache{ self.imgView.animationImages = nil; }
三. block動畫:spa
[UIView animateWithDuration:1.5 animations:^{ //想要作的動畫代碼 } completion:^(BOOL finished) { //當動畫執行完畢後須要執行的代碼 }];