Navigation BarにViewControllerを埋め込むと、navigationItem.titleView.resultSearchController?.searchBar
はナビゲーションバーに検索バーを配置します。しかし、私はコードでUISearchControllerとUINavigationBarを作成しました。今回は、navBarが表示されていますが、searchBarは表示されません。UISearchController Searchbarをコード付きのナビゲーションバーに配置するには
resultSearchController = UISearchController(searchResultsController: locationSearchTable)
resultSearchController?.searchResultsUpdater = locationSearchTable
let searchBar = resultSearchController!.searchBar
searchBar.sizeToFit()
searchBar.delegate = self
let navBar: UINavigationBar = UINavigationBar(frame: CGRect(x: 0, y:0, width: 375, height: 64))
self.view.addSubview(navBar)
//navBar.topItem = resultSearchController?.searchBar
self.navigationItem.titleView = resultSearchController?.searchBar
navBar.topItem = resultSearchController?.searchBar
topItem
は、文字列の値であり、resultSearchController?.searchBar
がUIView
タイプであるため、動作しません。どうすれば同じ効果を達成できますか?
このコードではナビゲーションバーは作成されません。このコードは、VCをナビゲーションバーに埋め込むと仮定して動作します。私の質問はどのようにsearchBarを私はコードで作成したnavBarのtitleViewにするのですか? – zachenn