ich für gehen zurück mit dem folgenden Code und vorwärts in meinem WebView mit UIScreenEdgePanGestureRecognizer
:UIScreenEdgePanGestureRecognizer auslöst mehrmals
class FirstViewController: UIViewController {
@IBOutlet var homewebview: UIWebView!
// create left edge and right edge gesture
let leftEdgePanGesture = UIScreenEdgePanGestureRecognizer()
let rightEdgePanGesture = UIScreenEdgePanGestureRecognizer()
override func viewDidLoad() {
super.viewDidLoad()
// add target for gesture
self.leftEdgePanGesture.addTarget(self, action: #selector(FirstViewController.handleLeftEdge(_:)))
self.rightEdgePanGesture.addTarget(self, action: #selector(FirstViewController.handleRightEdge(_:)))
// set detection edge
self.leftEdgePanGesture.edges = UIRectEdge.Left
self.rightEdgePanGesture.edges = UIRectEdge.Right
// add gesture into view
self.view.addGestureRecognizer(self.leftEdgePanGesture)
self.view.addGestureRecognizer(self.rightEdgePanGesture)
}
func handleLeftEdge(gesture: UIScreenEdgePanGestureRecognizer) {
homewebview.goBack()
}
// perform operation when right edge gesture detected
func handleRightEdge(gesture: UIScreenEdgePanGestureRecognizer) {
homewebview.goForward()
}
}
Mein Problem ist, dass es mehrere Male ist auslösen. Es geht nicht eine Seite vor/zurück, es geht zurück/vorwärts ca. 5 Webseiten.
Gibt es eine Lösung? Oder muss ich UISwipeGestureRecognizer
verwenden. Ich möchte lieber nicht UISwipeGestureRecognizer
verwenden, weil es nicht so zuverlässig reagiert wie UIScreenEdgePanGestureRecognizer
. UISwipeGestureRecognizer
manchmal "denkt" Ich möchte in meinem WebView vertikal blättern und reagiert nicht. Oder gibt es dafür eine Lösung?
Vielen Dank. Es funktioniert perfekt. Du bist unglaublich. –
Hallo Kurt Revis, ich habe es für links und rechts hinzugefügt. Links funktioniert, aber rechts funktioniert nicht. Warum das? Soll ich den Code bereitstellen? –
Wenn Sie nach rechts wischen, wäre die Übersetzung negativ. Verwenden Sie 'abs (gesten.translationInView (view) .x)', um den Schwellenwert zu vergleichen. Bearbeitete die Antwort. –