[Xcode 实际操作]二、视图与手势-(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 }