[Xcode 實際操做]6、媒體與動畫-(10)UIView視圖翻轉動的畫製做

目錄:[Swift]Xcode實際操做html

本文將演示翻轉動畫的製做。swift

在項目導航區,打開視圖控制器的代碼文件【ViewController.swift】ide

 1 import UIKit
 2 
 3 class ViewController: UIViewController {
 4 
 5     override func viewDidLoad() {
 6         super.viewDidLoad()
 7         // Do any additional setup after loading the view, typically from a nib.
 8         
 9         //建立一個位置在(50,50),尺寸爲(220,320)的顯示區域
10         let rect = CGRect(x: 50, y: 50, width: 220, height: 320)
11         //初始化一個圖像視圖,並設置其位置和尺寸信息
12         let imageView = UIImageView(frame: rect)
13 
14         //從項目資源文件中加載一張圖片
15         let image = UIImage(named: "Picture")
16         //給圖像視圖指定須要顯示的圖片
17         imageView.image = image
18         //設置圖像視圖的標識值,以方便後期對圖像視圖的調用
19         imageView.tag = 1
20         
21         //將圖像視圖,添加到當時視圖控制器的根視圖
22         self.view.addSubview(imageView)
23         
24         //初始化一個按鈕對象,當點擊按鈕時,開始播放動畫
25         let button = UIButton(type: UIButton.ButtonType.system)
26         //設置按鈕對象的位置爲(50,400),尺寸爲(220,44)
27         button.frame = CGRect(x: 50, y: 400, width: 220, height: 44)
28         //設置按鈕對象的背景顏色爲橙色
29         button.backgroundColor = UIColor.orange
30         //設置按鈕對象的標題文字
31         button.setTitle("Tap it.", for: UIControl.State())
32         //給按鈕對象,綁定點擊事件
33         button.addTarget(self, action: #selector(ViewController.playAnimation), for: UIControl.Event.touchUpInside)
34         
35         //將按鈕對象,添加到當前視圖控制器的根視圖
36         self.view.addSubview(button)
37     }
38     
39     //建立一個方法,用來響應按鈕的點擊事件
40     @objc func playAnimation()
41     {
42         //發出開始動畫的請求,
43         //標誌着視圖動畫塊的開始。
44         //在它和提交動畫請求之間,能夠定義動畫的各類展示方式
45         UIView.beginAnimations(nil, context: nil)
46         //設置動畫的播放速度爲淡入淡出
47         UIView.setAnimationCurve(.easeOut)
48         //設置動畫的時長爲5秒
49         UIView.setAnimationDuration(50)
50         //設置動畫從視圖當前狀態開始播放
51         UIView.setAnimationBeginsFromCurrentState(true)
52         //經過標識值,找到上方代碼種建立的圖像視圖做爲動畫的載體
53         let view = self.view.viewWithTag(1)
54         //設置動畫類型爲翻轉動畫
55         UIView.setAnimationTransition(.flipFromRight, for: view!, cache: true)
56         //調用視圖的提交動畫方法,標誌着動畫塊的結束
57         UIView.commitAnimations()
58     }
59 
60     override func didReceiveMemoryWarning() {
61         super.didReceiveMemoryWarning()
62         // Dispose of any resources that can be recreated.
63     }
64 }
相關文章
相關標籤/搜索