Swift: searchBar все еще отображается с навигациейItem.hidesSearchBarWhenScrolling = true - PullRequest
0 голосов
/ 29 декабря 2018

В Swift я пытаюсь получить скрытый searchBar, который становится видимым при прокрутке,

Я использую это

navigationItem.searchController = searchController
navigationItem.hidesSearchBarWhenScrolling = true

Я пытался переместить вышекод вокруг, но независимо от того, searchBar виден независимо от того, где это вызывается в файле ViewController.

Есть ли что-то, что может быть overriding этой функциональностью?единственный другой код в файле, где я ссылаюсь на searchBar или searchController, выглядит следующим образом:

if self.searchController.isActive && searchController.searchBar.text != "" {...

self.searchController.searchBar.placeholder = "Search \(title)"

func updateSearchResults(for searchController: UISearchController) {

if let searchText = searchController.searchBar.text, !searchText.isEmpty {
        filteredArr = defaultArr.filter {...

func configureSearchController () {

    //Setup the Search Controller
    searchController.searchResultsUpdater = self
    searchController.hidesNavigationBarDuringPresentation = true
    searchController.dimsBackgroundDuringPresentation = false
    searchController.searchBar.searchBarStyle = .minimal
    searchController.definesPresentationContext = true
    navigationItem.searchController = searchController
    navigationItem.hidesSearchBarWhenScrolling = true 
}

// I call reloadData a few times throughout as well
tableView.reloadData()

Я не уверен, как любое из вышеперечисленного может повлиять на hideSearchBarWhenScrolling = true.

enter image description here

Я так растерялся, как это происходит, у кого-нибудь есть совет?

Любая помощь будет высоко ценится.

1 Ответ

0 голосов
/ 05 января 2019

Метка, которая была "позади" tableView, вызывала проблему:

searchBar всегда видимый:

enter image description here

searchBar скрытпо назначению:

enter image description here

...