将搜索栏添加到swift中的导航栏

时间:2014-10-15 13:43:10

标签: ios iphone swift uisearchbar

我正在尝试将searchBar添加到navigationBar。我研究了一下,这是我到目前为止所做的:

使用此代码的导航栏中似乎没有任何问题。

    searchBar = UISearchBar(frame: CGRectMake(0, 0, 320, 44))
    searchBar?.delegate = self
    searchBar?.showsCancelButton = true


    searchController = UISearchDisplayController()
    searchController?.delegate = self
    searchController?.searchResultsDelegate = self

    searchController?.displaysSearchBarInNavigationBar = true

3 个答案:

答案 0 :(得分:6)

试试这个适合我的代码:

 lazy   var searchBars:UISearchBar = UISearchBar(frame: CGRectMake(0, 0, 200, 20))

override func viewDidLoad() {
    super.viewDidLoad()
    var leftNavBarButton = UIBarButtonItem(customView: searchBars)
    self.navigationItem.leftBarButtonItem = leftNavBarButton
}

答案 1 :(得分:2)

您可以使用此

private let searchController = UISearchController(searchResultsController: nil)

override func viewDidLoad() {

 self.navigationItem.searchController = searchController
 self.navigationItem.hidesSearchBarWhenScrolling = false
}

答案 2 :(得分:0)

尝试一下

lazy var searchBar = UISearchBar(frame: .zero)
override func viewDidLoad() {
    super.viewDidLoad()
 navigationItem.titleView = searchBar}