Swift 3.0 图片同时添加单击、双击手势

1. 添加的手势在同一个文件内时(ViewController或其他), 通过以下方法区分单击、双击事件


singleTapGesture.require(toFail: doubleTapGesture)


2. 添加的手势在不同文件内时,就需要公共的变量来记录

Common.swift

/// 记录是否为双击事件
let doubleTap: Bool = false

SingleTap.swift

// 单击事件的方法
@objc fileprivate func singleTap(tap: UITapGestureRecognizer) {
        // 修改公共变量
        doubleTap = false

        // 单击手势延迟执行
        self.perform(#selector(self.singleTap), with: nil, afterDelay: 0.2)

}

// 延迟执行方法
@objc fileprivate func singleTap() {
        if doubleTap == false {
             // 要执行的单击事件......

}
DoubleTap.swift

// 双击手势事件
@objc fileprivate func doubelTap(tap: UITapGestureRecognizer) {
       // 修改公共变量:是双击手势
       doubleTap = true
      
      //  要执行的双击事件......

}

你可能感兴趣的:(Swift 3.0 图片同时添加单击、双击手势)