如何将iOS 3D Touch作为UIGestureRecognizer应用于任何UIView


我知道,有传言称苹果将在2019年的新设备中删除3D Touch,但是我仍然爱上此功能,因为它是在iPhone 6s中首次实现的。

作为开发人员,我只在UITableView单元格,带有peek和pop的UICollectionView单元格以及iOS SpringBoard中的Quick Actions中实现了它,但是最近我需要有一个UIGestureRecognizer才能应用于可以拦截水龙头的任何拦截3D Touch的UIView ,拖动,ecc,但系统库中没有类似的功能。
作为对该实现的研究的结果,我编写了一个可以满足我的需求的UIGestureRecognizer子类。


第一步是在swift文件中导入正确的库,并创建空的UIGestureRecognizer子类,该子类将覆盖实现所需的四个方法: