ナビゲーションバーに UISearchBar を ScopeBar 付きで表示
5204 ワード
ナビゲーションバーに UISearchBar を載せ、編集中のみ ScopeBar を表示する。
標準 | 編集中 |
---|---|
コードサンプルは以下の通り。高さの調整はもっとマシな方法があるかもしれない。
override func viewDidLoad() {
super.viewDidLoad()
let searchBar = UISearchBar()
searchBar.delegate = self
searchBar.scopeBarBackgroundImage = UIImage() // 空の画像をセットしないと親 View に背景色がつく
self.navigationItem.titleView = searchBar
}
// MARK: - UISearchBarDelegate
func searchBarShouldBeginEditing(searchBar: UISearchBar) -> Bool {
searchBar.showsCancelButton = true
searchBar.scopeButtonTitles = ["A", "B"]
searchBar.showsScopeBar = true
self.navigationController?.navigationBar.frame.size.height = 84
return true
}
func searchBarShouldEndEditing(searchBar: UISearchBar) -> Bool {
searchBar.showsCancelButton = false
searchBar.scopeButtonTitles = [] // 空にしないと showsScopeBar = false にしても表示される
searchBar.showsScopeBar = false
self.navigationController?.navigationBar.frame.size.height = 44
return true
}
func searchBarCancelButtonClicked(searchBar: UISearchBar) {
searchBar.text = ""
searchBar.resignFirstResponder()
}
Author And Source
この問題について(ナビゲーションバーに UISearchBar を ScopeBar 付きで表示), 我々は、より多くの情報をここで見つけました https://qiita.com/kleerd/items/bc8a9bf13b3c5f3d1268著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .