[IOS] 为什么 UIPanGestureRecognizer 不起作用?

Posted krosshj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[IOS] 为什么 UIPanGestureRecognizer 不起作用?相关的知识,希望对你有一定的参考价值。

如果你设置的 UIPanGestureRecognizer 不起作用,可能是因为 UIPanGestureRecognizer 初始化方式不对。

如下面代码所示,如果你在成员变量里面初始化,并且指定 target 为 self,这会导致 onPan 方法无法被调用。

class YourView: UIView {
    var uiPan = UIPanGestureRecognizer(target: self, action: #selector(onPan))
    
    init() {
        addGestureRecognizer(uiPan)
    }
    
    @objc func onPan() {
        //...
    }
}

可以选择先初始化,随后在绑定 target。

下面的代码将会正常工作。

class YourView: UIView {
    var uiPan = UIPanGestureRecognizer()
    
    init() {
        uiPan.addTarget(self, action: #selector(onPan))
        addGestureRecognizer(uiPan)
    }
    
    @objc func onPan() {
        //...
    }
}

以上是关于[IOS] 为什么 UIPanGestureRecognizer 不起作用?的主要内容,如果未能解决你的问题,请参考以下文章

ios是什么?ios有什么特点?

8年iOS架构师告诉你,为什么iOS现在不行了!

iOS 开发人才市场饱和了吗?为什么我会继续选择深入学习iOS开发?

浅述不同版本ios系统有什么特点 ios 1 -ios 12

什么决定了 iOS 应用程序是不是会在 iOS 7 中获得新外观

ios加密机制是什么?为什么无法破解?