【发布时间】:2018-12-29 05:57:04
【问题描述】:
在 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。
我很困惑这是怎么回事,有人有什么建议吗?
任何帮助将不胜感激。
【问题讨论】:
-
能否添加屏幕截图?
-
我已经编辑了一个显示行为的 gif
-
你能试试
UITableView中的20-25行吗? -
无论
UITableView中有多少项目,UIsearchBar仍然是静态的并且仍然可见。我尝试了 20-25、50 等。 -
tableView“后面”的标签导致问题:searchBar 始终可见:imgur.com/lXulqjb searchBar 按预期隐藏:imgur.com/4YmlRbK
标签: swift visible searchbar swift4.2