Я создал панель поиска и панель видимости, но когда страница запускает кнопки области видимости, они непосредственно видны за панель поиска. Я знаю, что настройка .Minimal делает мою панель поиска полупрозрачной, но она дает мне красивый серый цвет, который отлично смотрится на белом фоне.Swift - Кнопки сферы видимы сверху UISearchBar
Нажав на панель поиска, а затем кнопка отмены отобразит все правильно. В приведенной ниже ссылке показано, что я говорю.
UISearchBarStyleMinimal shows scope buttons on top of UISearchBar
Кто-нибудь знает, как это исправить?
SearchController.swift
let searchController = UISearchController(searchResultsController: nil)
override func viewDidLoad() {
super.viewDidLoad()
// Create search bar
self.searchController.searchResultsUpdater = self
self.searchController.dimsBackgroundDuringPresentation = false
self.searchController.hidesNavigationBarDuringPresentation = true
self.searchController.searchBar.sizeToFit()
self.definesPresentationContext = true
self.tableView.tableHeaderView = searchController.searchBar
self.searchController.searchBar.delegate = self
self.searchController.searchBar.scopeButtonTitles = ["All", "btn1", "btn2", "btn3"]
tableView.allowsMultipleSelectionDuringEditing = true
}
AppDelegate.swift
UISearchBar.appearance().searchBarStyle = .Minimal
UISearchBar.appearance().backgroundColor = UIColor.whiteColor()
UISearchBar.appearance().barTintColor = UIColor.whiteColor()
UISearchBar.appearance().tintColor = Constants.MAIN_THEME_COLOR
Где именно вы это добавили? ине? Добавление его делает мои кнопки видимыми с самого начала :(они должны отображаться только в том случае, если пользователь находится в режиме поиска. –
Если вы добавите его в ViewDidLoad, то они появятся сразу. Я добавил следующее: ' FUNC searchBarTextDidBeginEditing (SearchBar: UISearchBar) { '' self.searchBar .showsScopeBar = true' 'self.searchBar .scopeButtonTitles = [ "Все", "btn1", "btn2"]' !} ' – Vxed
Nice решение! Он работал: D –