My-View-Controller in einer Navigationssteuerung eingebettet hält einen WKWebview, auf das ich die folgende Logik aktiviert werden soll:WKWebview allowsBackForwardNavigationGestures und UINavigationController interactivePopGestureRecognizer aktivierte beide
Wenn ein zurücker Artikel in der Webansicht vorhanden ist, eine linker Bildschirmrand geste sollte eine Seite in der Webansicht zurückgehen (normales Verhalten von Webview, wenn allowsBackForwardNavigationGestures auf yes gesetzt ist). Wenn kein Back Item mehr vorhanden ist, sollte eine Seite im Navigationscontroller (interactivePopGestureRecognizer) angezeigt werden. Ich habe beide aktiviert und bekomme zufällige Ergebnisse, manchmal gehe ich eine Seite in der Webansicht zurück und manchmal gehe ich zurück zu meiner Homepage im Navigationsstapel. Ich habe versucht, die folgende Logik:
-(void)webView:(WKWebView *)webView didCommitNavigation:(null_unspecified WKNavigation *)navigation {
if (webView.backForwardList.backItem) {
MYappDelegate.mainNavigationController.interactivePopGestureRecognizer.enabled = NO;
self.webView.allowsBackForwardNavigationGestures = YES;
} else {
MYappDelegate.mainNavigationController.interactivePopGestureRecognizer.enabled = YES;
self.webView.allowsBackForwardNavigationGestures = NO;
}
}
aber es stürzt ab, wenn ich Swipe und ich „WKCompositingView Unbekannter Selektor an Instanz gesendet.“
Irgendwelche Ideen, wo ich falsch liege? Ich vermute, es gibt einen Konflikt darüber, welche Geste Priorität hat, aber ich kann nicht herausfinden, wo diese Logik hinzugefügt werden muss, damit sowohl der Webview als auch der Navigationscontroller, der den View-Controller enthält, friedlich leben.