如果你設置的 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() {
//...
}
}
如果以上內容對你有所幫助,請在這些平臺上關注我吧,謝謝。o( ̄▽ ̄)d