本文将演示使用视图的双击手势,完成视图的交互功能。
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, 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 //用于检测发生在设备中的双击手势 25 let guesture = UITapGestureRecognizer(target: self, action: #selector(ViewController.doubleTap(_:))) 26 //设置点击次数为2,模拟双击事件 27 guesture.numberOfTapsRequired = 2 28 //设置手势为单次双击事件 29 guesture.numberOfTouchesRequired = 1 30 //将创建的手势指定给图像视图对象 31 imageView.addGestureRecognizer(guesture) 32 } 33 34 //创建一个方法,用来响应双击手势的事件 35 @objc func doubleTap(_ guesture:UISwipeGestureRecognizer) 36 { 37 //当接收到手势事件后,弹出一个窗口 38 let alertView = UIAlertController(title: "Information", message: "Double Tap", preferredStyle: UIAlertController.Style.alert) 39 //创建一个按钮,作为提示窗口中的【确定】按钮。 40 //当用户点击该按钮时,将关闭提示窗口 41 let OKAction = UIAlertAction(title: "OK", style: .default, handler: nil) 42 alertView.addAction(OKAction) 43 //在当前视图控制器中,展示提示窗口 44 self.present(alertView, animated: true, completion: nil) 45 } 46 }