From f647402a4107924e8bc782b79857e490dbe10859 Mon Sep 17 00:00:00 2001 From: Shadowfacts Date: Sun, 20 Dec 2020 14:19:26 -0500 Subject: [PATCH] Prevent nav swipes from starting inside toolbars --- Gemini-iOS/BrowserNavigationController.swift | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Gemini-iOS/BrowserNavigationController.swift b/Gemini-iOS/BrowserNavigationController.swift index f6f81f1..4d2647b 100644 --- a/Gemini-iOS/BrowserNavigationController.swift +++ b/Gemini-iOS/BrowserNavigationController.swift @@ -169,6 +169,13 @@ class BrowserNavigationController: UIViewController { switch recognizer.state { case .began: + // swipe gestures cannot begin in navbar/toolbar bounds + let min = view.convert(navBarView.bounds, from: navBarView).maxY + let max = view.convert(toolbarView.bounds, from: toolbarView).minY + if toolbarOffset == 0 && (location.y < min || location.y > max) { + return + } + if location.x < startEdgeNavigationSwipeDistance && velocity.x > 0 && navigator.backStack.count > 0 { let older = backBrowserVCs.last ?? BrowserWebViewController(navigator: navigator, url: navigator.backStack.last!) embedChild(older, in: browserContainer)