Fix not committing URL when pressing return

This commit is contained in:
Shadowfacts 2020-12-20 15:24:36 -05:00
parent 92fe14cd9b
commit 040a799b7b
1 changed files with 4 additions and 2 deletions

View File

@ -14,7 +14,7 @@ class NavigationBarView: UIView {
let navigator: NavigationManager let navigator: NavigationManager
private var border: UIView! private var border: UIView!
private var textField: UITextField! private(set) var textField: UITextField!
private var cancellables = [AnyCancellable]() private var cancellables = [AnyCancellable]()
@ -40,9 +40,10 @@ class NavigationBarView: UIView {
textField.text = navigator.displayURL textField.text = navigator.displayURL
textField.borderStyle = .roundedRect textField.borderStyle = .roundedRect
textField.keyboardType = .URL textField.keyboardType = .URL
textField.returnKeyType = .go
textField.autocapitalizationType = .none textField.autocapitalizationType = .none
textField.autocorrectionType = .no textField.autocorrectionType = .no
textField.addTarget(self, action: #selector(commitURL), for: .editingDidEnd) textField.addTarget(self, action: #selector(commitURL), for: .primaryActionTriggered)
textField.translatesAutoresizingMaskIntoConstraints = false textField.translatesAutoresizingMaskIntoConstraints = false
addSubview(textField) addSubview(textField)
NSLayoutConstraint.activate([ NSLayoutConstraint.activate([
@ -75,6 +76,7 @@ class NavigationBarView: UIView {
} }
@objc private func commitURL() { @objc private func commitURL() {
textField.resignFirstResponder()
if let text = textField.text, let url = URL(string: text) { if let text = textField.text, let url = URL(string: text) {
navigator.changeURL(url) navigator.changeURL(url)
} else { } else {