iOS_三種簡單動畫的實現
1:頭尾式動畫.
// beginAnimations 表示此後的程式碼要參與到動畫中
[UIView beginAnimations:nil context:nil];
// 設定動畫持續時間
[UIView setAnimationDuration:0.5];
self.testView.frame = CGRectMake(screenW, screenH, 100, 100);
// commitAnimations,將beginAnimation之後的所有動畫提交併生成動畫
[UIView commitAnimations];
說明:如果只是修改控制元件的屬性,使用首尾式動畫還是比較方便的,但是如果需要在動畫完成後做後續處理,就不是那麼方便了
2:block 動畫
CGFloat screenW = [UIScreen mainScreen].bounds.size.width - 120;
CGFloat screenH = [UIScreen mainScreen].bounds.size.height - 120;
[UIView animateWithDuration:0.7 animations:^{
self.testView.frame = CGRectMake(screenW, screenH, 100, 100);
} completion:^(BOOL finished) {
self.testView.backgroundColor = [UIColor blueColor];
}];
說明:
(1)在實際的開發中更常用的時block程式碼塊來處理動畫操作。
(2)塊動畫相對來說比較靈活,尤為重要的是能夠將動畫相關的程式碼編寫在一起,便於程式碼的閱讀和理解.
3:序列幀動畫
UIImageView *img = [[UIImageView alloc]init];
//這裡把要執行動畫的圖片存放到陣列中即可
NSMutableArray *arrayM = [NSMutableArray array];
// 給圖片框設定圖片陣列
[img setAnimationImages:arrayM];
// 設定動畫播放時間
[img setAnimationDuration:arrayM.count * 0.075];
// 設定重複次數(預設是0)
[img setAnimationRepeatCount:1];
// 開始動畫
[img startAnimating];
// 停止動畫
[img stopAnimating];
// 動畫是否在執行
BOOL isAnim = [img isAnimating];
說明:
專案中使用序列幀動畫,要考慮程式效能,(記憶體暴漲)播放動畫以後要清空圖片陣列.
相關文章
- WPF簡單動畫實現動畫
- 使用canvas實現簡單動畫Canvas動畫
- Flutter 網路請求的三種簡單實現Flutter
- 讓動畫實現更簡單,Flutter 動畫簡易教程!動畫Flutter
- jQuery實現的動畫簡單例項jQuery動畫單例
- 前端動畫效果實現的簡單比較前端動畫
- css3實現的簡單動畫效果CSSS3動畫
- CSS並不簡單--結合SVG實現簡單的載入動畫CSSSVG動畫
- javascript實現的動畫效果簡單例項程式碼JavaScript動畫單例
- 簡單的動畫方式實現的元素下拉和上卷效果動畫
- 單點登入的三種實現方式
- 分散式鎖簡單入門以及三種實現方式介紹分散式
- Golang中map的三種宣告方式和簡單實現增刪改查Golang
- iOS (仿印物App)TableView給力動畫的簡單實現iOSAPPView動畫
- iOS_極光推送的UNNotificationServiceExtension實現富文字iOS
- 【CSS】實現10種簡單的loading效果CSS
- 基於 HTML5 實現的簡單雲動畫和景物描述HTML動畫
- CSS3建立簡單的網頁動畫–實現彈跳球動CSSS3網頁動畫
- 簡單CSS實現閃爍動畫(+1白話講解)CSS動畫
- 新手引導動畫的4種實現方式動畫
- 簡單的動畫 (numpy & PySimpleGUI)動畫GUI
- JavaScript簡單的動畫效果JavaScript動畫
- js實現簡單百度分頁和兩種tab樣式切換簡單實現JS
- 教你三種jQuery框架實現元素顯示及隱藏動畫方式jQuery框架動畫
- SVG簡單動畫SVG動畫
- 如何實現一個簡單的雨滴動畫?手把手告訴你動畫
- 實現簡單的BitMap
- ArrayList的簡單實現
- AOP的簡單實現
- 簡單的 HashMap 實現HashMap
- 簡單的Filter實現Filter
- Promise的簡單實現Promise
- 簡單實現幾種常見的前端效果,附程式碼!前端
- flutter 簡單實現瀏覽器H5粒子動畫Flutter瀏覽器H5動畫
- 簡單的SVG線條動畫SVG動畫
- 實現AI的三種途徑AI
- 三種Singleton的實現方式
- vsftpd的三種實現方法FTP