我的应用程序的最低 iOS 版本是 10.3。我可以在 iOS 11 的导航栏底部添加搜索栏。但我希望较低版本的 iOS 11 也能添加搜索栏,并且它应该是编程式的。请帮忙。谢谢
fileprivate func _setupNavigationBar() {
let searchController = UISearchController(searchResultsController: nil)
searchController.searchResultsUpdater = self
searchController.obscuresBackgroundDuringPresentation = false
searchController.searchBar.placeholder = "Search Here"
if #available(iOS 11.0, *) {
navigationItem.searchController = searchController
} else {
// TODO: ????????????????
}
}
最佳答案
class ViewController: UIViewController, UISearchControllerDelegate {
var controladorDeBusca: UISearchController!
var resultsTableViewController: ResultsTableViewController?
override func viewDidLoad() {
super.viewDidLoad()
resultsTableViewController = storyboard!.instantiateViewController(withIdentifier: "resultsTableViewController") as? ResultsTableViewController
setUpSearchAtNaviagtion()
}
func setUpSearchAtNaviagtion() {
controladorDeBusca = UISearchController(searchResultsController: resultsTableViewController)
controladorDeBusca.delegate = self
controladorDeBusca.searchResultsUpdater = resultsTableViewController
controladorDeBusca.dimsBackgroundDuringPresentation = true
definesPresentationContext = true
controladorDeBusca.loadViewIfNeeded()
//Configura a barra do Controlador de busca
controladorDeBusca.searchBar.delegate = resultsTableViewController
controladorDeBusca.hidesNavigationBarDuringPresentation = false
controladorDeBusca.searchBar.placeholder = "Search place"
controladorDeBusca.searchBar.sizeToFit()
controladorDeBusca.searchBar.barTintColor = navigationController?.navigationBar.barTintColor
controladorDeBusca.searchBar.tintColor = self.view.tintColor
//Adiciona a barra do Controlador de Busca a barra do navegador
navigationItem.titleView = controladorDeBusca.searchBar
}
}
试试这个..
关于iOS v10 或更低版本 : How to add UISearchController in the bottom of navigation bar Programmatically,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53166851/