首页 > 解决方案 > 搜索栏未显示在导航栏 iOS 11 上

问题描述

我正在将一个 viewController 推到我想要一个 searchBar 的位置,但根本没有显示搜索栏。下面是代码。我错过了什么吗?

var searchController = UISearchController(searchResultsController: nil)
searchController.searchResultsUpdater = self
searchController.obscuresBackgroundDuringPresentation = false
searchController.searchBar.placeholder = "Search here..."
definesPresentationContext = true
searchController.searchBar.delegate = self
searchController.searchBar.sizeToFit()
if #available(iOS 11.0, *) {

    self.navigationItem.searchController = searchController
} else {
    // Fallback on earlier versions
    navigationItem.titleView = searchController.searchBar
    navigationItem.titleView?.layoutSubviews()
}

标签: iosswiftuinavigationbarios11uisearchcontroller

解决方案


您需要将此行添加到您的代码中:

navigationItem.hidesSearchBarWhenScrolling = false

这会在滚动时删除隐藏的 searchBar,并在推送视图控制器时显示它。


推荐阅读