在Swift中向导航栏添加搜索栏

6
我正在尝试将搜索栏添加到导航栏中。我做了一些研究,目前为止我已经完成了以下步骤: 但问题是使用这段代码后导航栏中没有任何显示。
    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个回答

7

尝试这段代码,它对我有效:

 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
}

4
您可以使用这个。
private let searchController = UISearchController(searchResultsController: nil)

override func viewDidLoad() {

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

4

试试这个

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接