2020-11-09 06:03:59 +01:00
|
|
|
import UIKit
|
2019-11-29 06:30:01 +01:00
|
|
|
|
2020-11-09 06:03:59 +01:00
|
|
|
public final class SearchBar : UISearchBar {
|
2019-11-29 06:30:01 +01:00
|
|
|
|
2020-11-09 06:03:59 +01:00
|
|
|
public override init(frame: CGRect) {
|
2019-11-29 06:30:01 +01:00
|
|
|
super.init(frame: frame)
|
2022-02-24 03:16:50 +01:00
|
|
|
setUpSessionStyle()
|
2019-11-29 06:30:01 +01:00
|
|
|
}
|
|
|
|
|
2020-11-09 06:03:59 +01:00
|
|
|
public required init?(coder: NSCoder) {
|
2019-11-29 06:30:01 +01:00
|
|
|
super.init(coder: coder)
|
2022-02-24 03:16:50 +01:00
|
|
|
setUpSessionStyle()
|
2019-11-29 06:30:01 +01:00
|
|
|
}
|
2022-02-24 03:16:50 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
public extension UISearchBar {
|
2019-11-29 06:30:01 +01:00
|
|
|
|
2022-02-24 03:16:50 +01:00
|
|
|
func setUpSessionStyle() {
|
2019-11-29 06:30:01 +01:00
|
|
|
searchBarStyle = .minimal // Hide the border around the search bar
|
|
|
|
barStyle = .black // Use Apple's black design as a base
|
2022-02-24 03:16:50 +01:00
|
|
|
tintColor = Colors.text // The cursor color
|
2020-11-09 06:03:59 +01:00
|
|
|
let searchImage = #imageLiteral(resourceName: "searchbar_search").withTint(Colors.searchBarPlaceholder)!
|
2019-11-29 06:30:01 +01:00
|
|
|
setImage(searchImage, for: .search, state: .normal)
|
2020-11-09 06:03:59 +01:00
|
|
|
let clearImage = #imageLiteral(resourceName: "searchbar_clear").withTint(Colors.searchBarPlaceholder)!
|
2019-11-29 06:30:01 +01:00
|
|
|
setImage(clearImage, for: .clear, state: .normal)
|
2020-01-06 00:56:34 +01:00
|
|
|
let searchTextField: UITextField
|
|
|
|
if #available(iOS 13, *) {
|
|
|
|
searchTextField = self.searchTextField
|
|
|
|
} else {
|
|
|
|
searchTextField = self.value(forKey: "_searchField") as! UITextField
|
|
|
|
}
|
2019-11-29 06:30:01 +01:00
|
|
|
searchTextField.backgroundColor = Colors.searchBarBackground // The search bar background color
|
|
|
|
searchTextField.textColor = Colors.text
|
|
|
|
searchTextField.attributedPlaceholder = NSAttributedString(string: NSLocalizedString("Search", comment: ""), attributes: [ .foregroundColor : Colors.searchBarPlaceholder ])
|
|
|
|
setPositionAdjustment(UIOffset(horizontal: 4, vertical: 0), for: UISearchBar.Icon.search)
|
|
|
|
searchTextPositionAdjustment = UIOffset(horizontal: 2, vertical: 0)
|
|
|
|
setPositionAdjustment(UIOffset(horizontal: -4, vertical: 0), for: UISearchBar.Icon.clear)
|
|
|
|
}
|
|
|
|
}
|