【问题标题】:Swift: searchBar still visible with navigationItem.hidesSearchBarWhenScrolling = trueSwift:使用 navigationItem.hidesSearchBarWhenScrolling = true 时 searchBar 仍然可见
【发布时间】:2018-12-29 05:57:04
【问题描述】:

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

我在用这个

navigationItem.searchController = searchController
navigationItem.hidesSearchBarWhenScrolling = true

我尝试移动上面的代码,但无论searchBar 是否可见,无论在ViewController 文件中的哪个位置调用它。

有什么东西可以overriding这个功能吗? 文件中我引用searchBarsearchController 的唯一其他代码如下:

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

我很困惑这是怎么回事,有人有什么建议吗?

任何帮助将不胜感激。

【问题讨论】:

  • 能否添加屏幕截图?
  • 我已经编辑了一个显示行为的 gif
  • 你能试试UITableView中的20-25行吗?
  • 无论UITableView 中有多少项目,UIsearchBar 仍然是静态的并且仍然可见。我尝试了 20-25、50 等。
  • tableView“后面”的标签导致问题:searchBar 始终可见:imgur.com/lXulqjb searchBar 按预期隐藏:imgur.com/4YmlRbK

标签: swift visible searchbar swift4.2


【解决方案1】:

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

searchBar 始终可见:

searchBar 按预期隐藏:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-08
    • 2014-09-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多