rief ich einige seltsame Problem konfrontiert bin, hier ist mein Code pan Geste für die RegistrierungSwift: UIPanGestureRecognizer Delegatmethode nicht
public func registerGesture(_ view: UIView) {
self.gesture = UIPanGestureRecognizer(target: self, action: #selector(handleGesture(_:)))
self.gesture?.minimumNumberOfTouches = 1
self.gesture?.maximumNumberOfTouches = 1
self.gesture?.delegate = self
view.addGestureRecognizer(self.gesture!)
}
UIPanGestureRecognizer
Delegatmethode wird nicht aufgerufen.
extension PanGestureHandler : UIGestureRecognizerDelegate {
public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
guard let g = self.gesture else { return false }
guard g.view is UIScrollView else { return false }
return true
}
public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldBeRequiredToFailBy
otherGestureRecognizer: UIGestureRecognizer) -> Bool {
return false
}
}
Stattdessen, wenn ich den Code debuggen und drucken Sie die Zeile self.gesture.delegate
, dann ist die delegierte Methode aufgerufen zu werden.
Jedes Mal, wenn ich die obige Zeile drucken muss, um zu arbeiten. Bitte helfen Sie mir, Dank
Wo Sie registerGesture Methode aufrufen? –
@PiotrBernad, danke für deine Antwort. Ich finde die Lösung, ich habe eine gemeinsame SharedInstance für die Klasse erstellt, jetzt funktioniert es gut. – Raju