swift - UIGestureRecognizer 没有响应 swift 3.0

标签 swift uigesturerecognizer

当我在 View 上平移时,它没有反应。以下代码显示了我如何设置手势识别器。我的代码有什么问题?

class MyViewController : UIViewController {
    override func loadView() {
        self.view.addGestureRecognizer(gestureRecognizerForSetCardFace)
    }

    var gestureRecognizerForSetCardFace: UIPanGestureRecognizer = {
        let recognizer = UIPanGestureRecognizer(target: self, action: #selector(handleSetGesture(gesture:)))
        recognizer.maximumNumberOfTouches = 1
        return recognizer
    }()

     @objc func handleSetGesture(gesture: UIPanGestureRecognizer){
        print("pan")
    }
}

最佳答案

您正在覆盖 loadView。只有当您实际创建一个 View 并将其分配给 self.view 时,才应该覆盖它。

更改您的代码以覆盖 viewDidLoad

override func viewDidLoad() {
    super.viewDidLoad()

    self.view.addGestureRecognizer(gestureRecognizerForSetCardFace)
}

关于swift - UIGestureRecognizer 没有响应 swift 3.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47343720/

相关文章:

ios - Swift CollectionView ReloadData 行为怪异

ios - 如何放大 UICollectionView

ios - 在 3d 空间中对 UIGestureRecogniser 进行 HitTest

xcode - 如何沿 InteractivePopGestureRecognizer 滑动键盘?

ios - 在 Swift 中替换默认手势识别器的正确方法

ios - 带有 LongPressGestureRecognizer 的 Mapkit 间歇性工作

swift - 如何将参数传递给@objc 函数

ios - 与第三方静态框架作为单一框架构建Swift动态框架

swift - 如何在 AppRTC iOS 应用程序中获取帧数据以进行视频修改?

ios - 同时解析 UITapGestureRecognizer 和 UILongPressGestureRecognizer 并在手指按下时触发 UIGestureRecognizer.State.began