中学数学624513 views
Computer369216 views
りんご215444 views
高校倫理1442459 views
小学社会311093 views
いろは3019021 views
世界の国566092 views
ヒストリア292936 views
教育149798 views
高校化学2928968 views
Help
Tools

English

Swiftでナビゲーションバーに検索バーを入れる

ナビゲーションバーに検索バーを入れたいときは、UISearchBarのインスタンスをnavigationItemのtitleViewに入れる。

let searchBar: UISearchBar = UISearchBar()
self.navigationItem.titleView = searchBar

高さと幅は自動的に調節される。

ポイントは、検索バーはUIBarButtonItemに入れないこと。次のコードは一見正常に動くが、navigationItemが他にあったときに幅がおかしくなる。

var leftBarButtonItem = UIBarButtonItem(customView: searchBar)
self.navigationItem.leftBarButtonItem = leftBarButtonItem

検索バーを入れるときは、他にnavigationItemを入れないか、または検索バーを最初からタイトルとして入れる。

ナビゲーションバーに検索バーを入れたいときは、UISearchBarのインスタンスをnavigationItemのtitleViewに入れる。