Swift:当 navigationItem.hidesSearchBarWhenScrolling = true 时,searchBar 仍然可见

clo*_*mas 1 visible searchbar swift swift4.2

在 Swift 中,我试图实现一个 hide searchBar,它在滚动时变得可见,

我正在用这个

navigationItem.searchController = searchController
navigationItem.hidesSearchBarWhenScrolling = true
Run Code Online (Sandbox Code Playgroud)

我尝试移动上面的代码,但无论searchBar在文件中的何处调用它,它都是可见的ViewController

有什么可能是overriding这个功能吗?文件中我引用searchBaror 的唯一其他代码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()
Run Code Online (Sandbox Code Playgroud)

我不确定上述任何一项会产生什么影响hideSearchBarWhenScrolling = true

在此输入图像描述

我很困惑这是怎么发生的,有人有什么建议吗?

任何帮助将非常感激。

clo*_*mas 5

tableView“后面”的标签导致了问题:

搜索栏始终可见:

在此输入图像描述

searchBar 按预期隐藏:

在此输入图像描述