From efab374e7f70d40f4d10169bd3ada99a88dac90d Mon Sep 17 00:00:00 2001 From: Ryan Zhao Date: Thu, 24 Feb 2022 13:16:50 +1100 Subject: [PATCH] refactor on session search bar decoration --- Session/Conversations/ConversationVC.swift | 21 +-------------------- SessionUIKit/Components/SearchBar.swift | 11 +++++++---- 2 files changed, 8 insertions(+), 24 deletions(-) diff --git a/Session/Conversations/ConversationVC.swift b/Session/Conversations/ConversationVC.swift index 54b317b62..f46d31ea9 100644 --- a/Session/Conversations/ConversationVC.swift +++ b/Session/Conversations/ConversationVC.swift @@ -560,26 +560,7 @@ final class ConversationVC : BaseVC, ConversationViewModelDelegate, OWSConversat // Search bar // FIXME: This code is duplicated with SearchBar let searchBar = searchController.uiSearchController.searchBar - searchBar.searchBarStyle = .minimal - searchBar.barStyle = .black - searchBar.tintColor = Colors.text - let searchIcon = UIImage(named: "searchbar_search")!.asTintedImage(color: Colors.searchBarPlaceholder) - searchBar.setImage(searchIcon, for: .search, state: UIControl.State.normal) - let clearIcon = UIImage(named: "searchbar_clear")!.asTintedImage(color: Colors.searchBarPlaceholder) - searchBar.setImage(clearIcon, for: .clear, state: UIControl.State.normal) - let searchTextField: UITextField - if #available(iOS 13, *) { - searchTextField = searchBar.searchTextField - } else { - searchTextField = searchBar.value(forKey: "_searchField") as! UITextField - } - searchTextField.backgroundColor = Colors.searchBarBackground - searchTextField.textColor = Colors.text - searchTextField.attributedPlaceholder = NSAttributedString(string: "Search", attributes: [ .foregroundColor : Colors.searchBarPlaceholder ]) - searchTextField.keyboardAppearance = isLightMode ? .default : .dark - searchBar.setPositionAdjustment(UIOffset(horizontal: 4, vertical: 0), for: .search) - searchBar.searchTextPositionAdjustment = UIOffset(horizontal: 2, vertical: 0) - searchBar.setPositionAdjustment(UIOffset(horizontal: -4, vertical: 0), for: .clear) + searchBar.setUpSessionStyle() let searchBarContainer = UIView() searchBarContainer.layoutMargins = UIEdgeInsets.zero diff --git a/SessionUIKit/Components/SearchBar.swift b/SessionUIKit/Components/SearchBar.swift index e4748b0ba..f4fa0b992 100644 --- a/SessionUIKit/Components/SearchBar.swift +++ b/SessionUIKit/Components/SearchBar.swift @@ -4,18 +4,21 @@ public final class SearchBar : UISearchBar { public override init(frame: CGRect) { super.init(frame: frame) - setUpStyle() + setUpSessionStyle() } public required init?(coder: NSCoder) { super.init(coder: coder) - setUpStyle() + setUpSessionStyle() } +} + +public extension UISearchBar { - private func setUpStyle() { + func setUpSessionStyle() { searchBarStyle = .minimal // Hide the border around the search bar barStyle = .black // Use Apple's black design as a base - tintColor = Colors.accent // The cursor color + tintColor = Colors.text // The cursor color let searchImage = #imageLiteral(resourceName: "searchbar_search").withTint(Colors.searchBarPlaceholder)! setImage(searchImage, for: .search, state: .normal) let clearImage = #imageLiteral(resourceName: "searchbar_clear").withTint(Colors.searchBarPlaceholder)!