iOS v10 或更低版本 : How to add UISearchController in the bottom of navigation bar Programmatically

标签 ios swift swift4 uisearchbar uisearchcontroller

我的应用程序的最低 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/

相关文章:

ios - 我如何知道应用程序是否通过 AppDelegate didFinishLaunchingWithOptions 处的 Firebase-Deep Link(动态链接)启动

swift - FBSDKGraphRequest 的 NSInvalidArgumentException

ios - 位置标记不显示 Swift 4

ios - 单击通用链接在我的应用程序中打开 WKWebView

android - 适用于 iOS 和 Android 的音频格式

ios - 防止滚动到 pageviewcontroller 中的一页

ios - 使用 Alamofire 时出现 Heroku "Request Interrupted"错误

objective-c - Swift 到 Objective-C header 不包含 Swift 类

ios - 从另一个类快速调用文本字段

swift4 - NSRegularExpression.replacementString 不跟踪字符串长度的变化