[Swift通天遁地]3、手勢與圖表-(3)經過捏合手勢放大和縮小圖像視圖

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公衆號:山青詠芝(shanqingyongzhi)
➤博客園地址:山青詠芝(https://www.cnblogs.com/strengthen/
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:http://www.javashuo.com/article/p-kaanermy-kr.html 
➤若是連接不是山青詠芝的博客園地址,則多是爬取做者的文章。
➤原文已修改更新!強烈建議點擊原文地址閱讀!支持做者!支持原創!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★html

目錄:[Swift]通天遁地Swiftgit

本文將演示經過捏合手勢,實現圖片的放大和縮小。github

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

如今開始編寫代碼,實現經過捏合手勢,實現圖片的放大和縮小。微信

 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         //首先建立一個矩形區域,做爲圖像視圖的顯示區域
10         let rect = CGRect(x: 0, y: 80, width: 320, height: 320)
11         //根據該顯示區域,初始化一個圖像視圖
12         let imageView = UIImageView(frame: rect)
13         
14         //從項目中讀取一張圖片資源
15         let image = UIImage(named: "Hand")
16         //由圖像視圖負責圖像的顯示
17         imageView.image = image
18         
19         //設置圖像視圖的交互屬性爲真,
20         //使圖像視圖能夠接收觸摸事件
21         imageView.isUserInteractionEnabled = true
22         //最後將圖像視圖添加到當前視圖控制器的根視圖
23         self.view.addSubview(imageView)
24         
25         //初始化一個捏合手勢,並給手勢綁定觸發事件
26         let guesture = UIPinchGestureRecognizer(target: self, 
27                                                 action:#selector(ViewController.pinchImage(_:)))
28         //將捏合手勢添加到圖像視圖
29         imageView.addGestureRecognizer(guesture)
30     }
31     
32     //添加一個方法,做爲捏合手勢的回調方法
33     func pinchImage(_ recognizer:UIPinchGestureRecognizer)
34     {
35         //根據捏合手勢識別器的縮放比例,調整圖像視圖的縮放比例。
36         recognizer.view?.transform = (recognizer.view?.transform.scaledBy(x: recognizer.scale,
37                                                                           y: recognizer.scale))!
38         //恢復捏合手勢識別器的初始比例,
39         //使每次縮放都從百分之百的比例進行。
40         recognizer.scale = 1;
41     }
42     
43     override func didReceiveMemoryWarning() {
44         super.didReceiveMemoryWarning()
45         // Dispose of any resources that can be recreated.
46     }
47 }
相關文章
相關標籤/搜索