From d8dced634788ae59fef0dab8675b5c9acb530009 Mon Sep 17 00:00:00 2001 From: Brian Sanders Date: Fri, 15 May 2020 18:04:17 -0400 Subject: [PATCH] Adds a key command (ESC) to the article search bar --- iOS/Article/ArticleSearchBar.swift | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/iOS/Article/ArticleSearchBar.swift b/iOS/Article/ArticleSearchBar.swift index 3169b1e11..c69cfdd4c 100644 --- a/iOS/Article/ArticleSearchBar.swift +++ b/iOS/Article/ArticleSearchBar.swift @@ -15,6 +15,7 @@ import UIKit @objc optional func searchBar(_ searchBar: ArticleSearchBar, textDidChange: String) } + @IBDesignable final class ArticleSearchBar: UIStackView { var searchField: UISearchTextField! var nextButton: UIButton! @@ -36,11 +37,8 @@ import UIKit weak var delegate: SearchBarDelegate? - private var _inputAccessoryView: UIView? - override var inputAccessoryView: UIView? { - get { _inputAccessoryView } - set { _inputAccessoryView = newValue } - } + override var keyCommands: [UIKeyCommand]? { + return [UIKeyCommand(title: "Exit Find", action: #selector(donePressed(_:)), input: UIKeyCommand.inputEscape)] } override init(frame: CGRect) { @@ -146,6 +144,7 @@ private extension ArticleSearchBar { } private extension ArticleSearchBar { + @objc func textDidChange(_ notification: Notification) { delegate?.searchBar?(self, textDidChange: searchField.text ?? "") @@ -164,7 +163,7 @@ private extension ArticleSearchBar { delegate?.previousWasPressed?(self) } - @objc func donePressed() { + @objc func donePressed(_ _: Any? = nil) { delegate?.doneWasPressed?(self) } }