Swiftでナビゲーションバーに検索バーを入れる
ナビゲーションバーに検索バーを入れたいときは、UISearchBarのインスタンスをnavigationItemのtitleViewに入れる。
let searchBar: UISearchBar = UISearchBar()
self.navigationItem.titleView = searchBar
高さと幅は自動的に調節される。
ポイントは、検索バーはUIBarButtonItemに入れないこと。次のコードは一見正常に動くが、navigationItemが他にあったときに幅がおかしくなる。
var leftBarButtonItem = UIBarButtonItem(customView: searchBar)
self.navigationItem.leftBarButtonItem = leftBarButtonItem
検索バーを入れるときは、他にnavigationItemを入れないか、または検索バーを最初からタイトルとして入れる。
UINavigationController
-
-
-
-
-
Swiftでナビゲーションバーの右上にボタンを用意する
0
2655
-
-
-
Swiftでナビゲーションバーに検索バーを入れる
0
653