mirror of
https://github.com/kiwix/kiwix-apple.git
synced 2025-09-29 15:05:21 -04:00
commit
This commit is contained in:
parent
29dfe133c9
commit
e7c988404d
@ -70,6 +70,12 @@ extension MainController: SearchBarDelegate, SearchContainerDelegate {
|
||||
controllers.search.searchText = text
|
||||
}
|
||||
|
||||
func shouldReturn(searchBar: SearchBar) -> Bool {
|
||||
let controller = controllers.search.resultController!
|
||||
controller.selectFirstResult()
|
||||
return controller.searchResults.count > 0
|
||||
}
|
||||
|
||||
private func showSearch(animated: Bool) {
|
||||
let controller = controllers.search
|
||||
controller.delegate = self
|
||||
|
@ -14,7 +14,7 @@ class SearchContainer: UIViewController {
|
||||
@IBOutlet weak var dimView: UIView!
|
||||
@IBOutlet weak var scopeAndHistoryContainer: UIView!
|
||||
@IBOutlet weak var resultContainer: UIView!
|
||||
private var resultController: SearchResultController!
|
||||
private(set) var resultController: SearchResultController!
|
||||
var delegate: SearchContainerDelegate?
|
||||
|
||||
@IBAction func handleDimViewTap(_ sender: UITapGestureRecognizer) {
|
||||
|
@ -12,7 +12,7 @@ import DZNEmptyDataSet
|
||||
|
||||
class SearchResultController: SearchBaseTableController, UITableViewDataSource, UITableViewDelegate, DZNEmptyDataSetSource, DZNEmptyDataSetDelegate {
|
||||
|
||||
private var searchResults = [SearchResult]()
|
||||
private(set) var searchResults = [SearchResult]()
|
||||
private var searchText = ""
|
||||
|
||||
/**
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
import UIKit
|
||||
|
||||
class SearchBar: UIView {
|
||||
class SearchBar: UIView, UITextFieldDelegate {
|
||||
|
||||
private let backgroundView = SearchBarBackgroundView()
|
||||
private let visualEffectView = UIVisualEffectView(effect: UIBlurEffect(style: .light))
|
||||
@ -24,7 +24,6 @@ class SearchBar: UIView {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// MARK: - Overrides
|
||||
|
||||
override init(frame: CGRect) {
|
||||
@ -63,10 +62,6 @@ class SearchBar: UIView {
|
||||
frame = CGRect(x: left, y: 0, width: right - left, height: superview.bounds.height).insetBy(dx: 10, dy: 0)
|
||||
}
|
||||
|
||||
deinit {
|
||||
// NotificationCenter.default.removeObserver(self, name: .UITextFieldTextDidEndEditing, object: textField)
|
||||
}
|
||||
|
||||
// MARK: -
|
||||
|
||||
func setup() {
|
||||
@ -80,12 +75,12 @@ class SearchBar: UIView {
|
||||
backgroundView.addSubview(visualEffectView)
|
||||
|
||||
addSubview(textField)
|
||||
textField.delegate = self
|
||||
textField.returnKeyType = .go
|
||||
textField.isUserInteractionEnabled = false
|
||||
textField.translatesAutoresizingMaskIntoConstraints = false
|
||||
addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "H:|-[view]-|", options: .alignAllCenterY, metrics: nil, views: ["view": textField]))
|
||||
addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|-[view]-|", options: .alignAllCenterX, metrics: nil, views: ["view": textField]))
|
||||
|
||||
// NotificationCenter.default.addObserver(self, selector: #selector(SearchBar.textFieldDidEndEditing), name: .UITextFieldTextDidEndEditing, object: textField)
|
||||
}
|
||||
|
||||
func textDidChange(textField: UITextField) {
|
||||
@ -103,6 +98,10 @@ class SearchBar: UIView {
|
||||
}
|
||||
}
|
||||
|
||||
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
|
||||
return delegate?.shouldReturn(searchBar: self) ?? false
|
||||
}
|
||||
|
||||
// MARK: - Responder
|
||||
|
||||
override var isFirstResponder: Bool {
|
||||
@ -148,7 +147,7 @@ private class SearchBarTextField: UITextField {
|
||||
|
||||
func setup() {
|
||||
placeholder = "Search"
|
||||
addTarget(superview, action: #selector(SearchBar.textDidChange(textField:)), for: UIControlEvents.editingChanged)
|
||||
addTarget(superview, action: #selector(SearchBar.textDidChange(textField:)), for: .editingChanged)
|
||||
|
||||
autocorrectionType = .no
|
||||
autocapitalizationType = .none
|
||||
@ -256,4 +255,5 @@ protocol SearchBarDelegate: class {
|
||||
func didBecomeFirstResponder(searchBar: SearchBar)
|
||||
func didResignFirstResponder(searchBar: SearchBar)
|
||||
func textDidChange(text: String, searchBar: SearchBar)
|
||||
func shouldReturn(searchBar: SearchBar) -> Bool
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user