点按搜索栏后,条形按钮项目将被取消

时间:2018-02-12 18:11:25

标签: ios swift uinavigationcontroller uinavigationbar uisearchbar

我的导航栏中包含search bar和两个UIBarButtonItems。这是它的样子:

enter image description here

问题是,当我点按search bar时,两个UIBarButtonItems被解雇,因此我无法访问它们。要做到这一点,我应该点击"取消",它会解散所有搜索的项目并返回table view的初始状态。当我点击search bar

时,我的导航栏看起来如何

enter image description here

有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:1)

不要将导航控制器与搜索栏一起使用,只需单独实现搜索栏即可。您可以在按下按钮时显示它,也可以将其静态地放在页面上。

// be sure to add the UISearchBarDelegate to the vc 

var searchController:UISearchController!

func showSearchBar() {
    // initialize and present search bar
    searchController = UISearchController(searchResultsController: nil)
    searchController.hidesNavigationBarDuringPresentation = false
    self.searchController.searchBar.delegate = self
    present(searchController, animated: true, completion: nil)
}