From e27ac15635b60dc99c97897bf454a1139ae544a7 Mon Sep 17 00:00:00 2001 From: Shadowfacts Date: Sun, 20 Dec 2020 15:25:52 -0500 Subject: [PATCH] Fix keyboard not being dismissed in some circumstances --- Gemini-iOS/BrowserNavigationController.swift | 12 ++++++++++++ Gemini-iOS/BrowserWebViewController.swift | 1 + 2 files changed, 13 insertions(+) diff --git a/Gemini-iOS/BrowserNavigationController.swift b/Gemini-iOS/BrowserNavigationController.swift index 4d2647b..f4f536c 100644 --- a/Gemini-iOS/BrowserNavigationController.swift +++ b/Gemini-iOS/BrowserNavigationController.swift @@ -34,6 +34,10 @@ class BrowserNavigationController: UIViewController { if (oldValue <= 0.5 && toolbarOffset > 0.5) || (oldValue > 0.5 && toolbarOffset <= 0.5) { setNeedsStatusBarAppearanceUpdate() + + if navBarView.textField.isFirstResponder { + navBarView.textField.resignFirstResponder() + } } } } @@ -205,6 +209,10 @@ class BrowserNavigationController: UIViewController { if position == .end { self.navigator.goBack() } + + if self.navBarView.textField.isFirstResponder { + self.navBarView.textField.resignFirstResponder() + } } gestureState = .backwards(animator) } else if location.x > view.bounds.width - startEdgeNavigationSwipeDistance && velocity.x < 0 && navigator.forwardStack.count > 0 { @@ -236,6 +244,10 @@ class BrowserNavigationController: UIViewController { if position == .end { self.navigator.goForward() } + + if self.navBarView.textField.isFirstResponder { + self.navBarView.textField.resignFirstResponder() + } } gestureState = .forwards(animator) } diff --git a/Gemini-iOS/BrowserWebViewController.swift b/Gemini-iOS/BrowserWebViewController.swift index 79b2a58..579d70b 100644 --- a/Gemini-iOS/BrowserWebViewController.swift +++ b/Gemini-iOS/BrowserWebViewController.swift @@ -81,6 +81,7 @@ class BrowserWebViewController: UIViewController { webView.scrollView.delegate = scrollViewDelegate // this doesn't default to .default :S webView.scrollView.indicatorStyle = .default + webView.scrollView.keyboardDismissMode = .interactive webView.translatesAutoresizingMaskIntoConstraints = false view.addSubview(webView) NSLayoutConstraint.activate([