1. 程式人生 > >[Xcode10 實際操作]二、檢視與手勢-(10)UITapGestureRecognizer手勢之單擊

[Xcode10 實際操作]二、檢視與手勢-(10)UITapGestureRecognizer手勢之單擊

本文將演示使用檢視的手勢功能,完成檢視的互動操作。

 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         //初始化一個原點在(32,80),尺寸為(256,256)的矩形常量,作為影象檢視的顯示區域
9 let rect = CGRect(x: 32, y: 80, width: 256, height: 256) 10 //建立一個相應尺寸的影象檢視物件 11 let imageView = UIImageView(frame: rect) 12 13 //從資原始檔夾中,讀取專案中的一張圖片 14 let image = UIImage(named: "Strengthen") 15 //使用載入的圖片,建立一個影象檢視 16 imageView.image = image
17 18 //開啟影象檢視物件的互動功能 19 imageView.isUserInteractionEnabled = true 20 //將影象檢視新增到當前檢視控制器的根檢視 21 self.view.addSubview(imageView) 22 23 //建立一個手勢檢測類,這是一個抽象類,它定義了所有手勢的基本行為, 24 //並擁有6哥子類,來檢測發生在裝置中的各種手勢 25 let guesture = UITapGestureRecognizer(target: self,
26 action: #selector(ViewController.singleTap(_:))) 27 //將建立的手勢指定給影象檢視 28 imageView.addGestureRecognizer(guesture) 29 } 30 31 //建立一個方法,用於接收手勢事件。 32 @objc func singleTap(_ gusture:UITapGestureRecognizer) 33 { 34 //在控制檯輸出手勢需要匹配的螢幕被觸碰的次數,它的預設值為1 35 print(gusture.numberOfTapsRequired) 36 //在控制檯輸出手勢包含的手指的數量,預設值也是1 37 print(gusture.numberOfTouchesRequired) 38 //當接收到手勢事件後,彈出一個視窗 39 let alertView = UIAlertController(title: "Information", message: "Single Tap", preferredStyle: UIAlertController.Style.alert) 40 //建立一個按鈕,作為提示視窗中的【確定】按鈕。 41 //當用戶點選該按鈕時,將關閉提示視窗 42 let OKAction = UIAlertAction(title: "OK", style: .default, handler: {_ in 43 44 }) 45 //將確定按鈕新增到提示視窗中 46 alertView.addAction(OKAction) 47 //在當前檢視控制器中,展示提示視窗 48 self.present(alertView, animated: true, completion: nil) 49 } 50 }