[英]How to add SearchController.searchBar under navigationBar (UITableView) swift
[英]SearchBar hides under NavigationBar
我在表视图中添加了searchBar。 我也有一个导航栏,它应该显示在它下面。 直到我点击搜索栏,它才能正常工作。 在屏幕尺寸较大的设备(从iPhone 6开始)上执行此操作时,搜索栏将隐藏在导航栏下方。 它可以在实际的iPhone 5、5s上正常工作。 这是我初始化searchBar的方式:
searchController.searchResultsUpdater = self as UISearchResultsUpdating
searchController.dimsBackgroundDuringPresentation = false
definesPresentationContext = true
tableView.tableHeaderView = searchController.searchBar
searchController.hidesNavigationBarDuringPresentation = false
searchController.searchBar.tintColor = UIColor.black
searchController.searchBar.scopeButtonTitles = ["Device", "Person", "OS version"]
searchController.searchBar.delegate = self as UISearchBarDelegate
searchBar不应隐藏,因为在搜索时我也需要对navigationBar进行分段控制。 您知道如何解决此问题吗?
我解决了问题。 这是一个iOS 11问题。 根据wwdc的建议,您应该为navigationItem添加searchBar。
if #available(iOS 11.0, *) {
self.navigationItem.searchController = self.searchController
self.navigationItem.hidesSearchBarWhenScrolling = false
} else {
tableView.tableHeaderView = searchController.searchBar
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.