在UISearchBar上键入时为什么UISearchController会消失?

时间:2017-01-06 11:14:43

标签: ios swift xcode uisearchbar uisearchcontroller

func configureSearchController() {
    // Initialize and perform a minimum configuration to the search controller.
    searchController = UISearchController(searchResultsController: nil)
    searchController.searchResultsUpdater = self
    searchController.dimsBackgroundDuringPresentation = false
    searchController.searchBar.placeholder = "Search"
    searchController.searchBar.delegate = self
    searchController.searchBar.sizeToFit()

    // Add search bar to View.
    self.view.addSubview(searchController.searchBar)

    searchController.searchBar.translatesAutoresizingMaskIntoConstraints = false

    view.bringSubview(toFront: searchController.searchBar)

    //add constraints on searchbar
    view.addConstraint(NSLayoutConstraint(item: searchController.searchBar, attribute: .trailing, relatedBy: .equal, toItem: view, attribute: .trailing, multiplier: 1, constant: 0))
    view.addConstraint(NSLayoutConstraint(item: searchController.searchBar, attribute: .leading, relatedBy: .equal, toItem: view, attribute: .leading, multiplier: 1, constant: 0))

    view.addConstraint(NSLayoutConstraint(item: searchController.searchBar, attribute: .top, relatedBy: .equal, toItem: self.topLayoutGuide, attribute: .bottom, multiplier: 1, constant: 0))
    view.addConstraint(NSLayoutConstraint(item: searchController.searchBar, attribute: .height, relatedBy: .equal, toItem: nil, attribute: .notAnAttribute,multiplier: 1, constant: 64))

}

这就是我的代码,我将一个searchController搜索栏添加为View的子视图。我也添加了约束。

每当我在搜索栏中输入内容时,整个内容就会消失,导航栏也会以动画形式消失。

首先它看起来像这样 So it looks like this

然后当我开始输入时,它就消失了 Poof It's gone

2 个答案:

答案 0 :(得分:0)

searchController1.hidesNavigationBarDuringPresentation = false

答案 1 :(得分:0)

将以下内容添加到ViewController

    definesPresentationContext = true