隐藏搜索栏也隐藏导航栏标题
Hiding searchbar hides navigation bar title also
我有 navigation bar
和 search
按钮。单击它会显示 searchbar
并在取消按钮上单击它会隐藏。但出于某种原因,如果 searchbar
被隐藏,那么导航栏 titleview 也会隐藏。什么会导致这个?一开始我其实是想让它从右边滑到titleView
但是我做不到所以我就这样做了
这是显示和隐藏它的代码:
//Create searchbar
func createSearchBar(){
searchBar.showsCancelButton = true
searchBar.tintColor = UIColor(red:0.184, green:0.996, blue:0.855, alpha:1.00)
searchBar.placeholder = "Search brands"
searchBar.delegate = self
searchBar.hidden = false
searchBar.alpha = 0
navigationItem.titleView = searchBar
navigationItem.setLeftBarButtonItem(menuButton, animated: true)
navigationItem.setRightBarButtonItem(searchButtton, animated: true)
UIView.animateWithDuration(0.5, animations: {
self.searchBar.alpha = 1
}, completion: { finished in
self.searchBar.becomeFirstResponder()
})
}
//Searchbar hide
func hideSearchBar() {
navigationItem.setLeftBarButtonItem(menuButton, animated: true)
navigationItem.setRightBarButtonItem(searchButtton, animated: true)
searchBar.alpha = 0
UIView.animateWithDuration(1, animations: {
}, completion: { finished in
})
}
//Searchbar cancel button
func searchBarCancelButtonClicked(searchBar: UISearchBar) {
hideSearchBar()
searchBar.endEditing(true)
snusBrandsTableView.reloadData()
}
如果你想在隐藏 searchBar
时设置 title
of navigationItem
你需要将 titleView
设置为 nil 然后设置标题。
func hideSearchBar() {
navigationItem.setLeftBarButtonItem(menuButton, animated: true)
navigationItem.setRightBarButtonItem(searchButtton, animated: true)
searchBar.alpha = 0
self.navigationItem.titleView = nil
self.navigationItem.title = "YourTitle"
}
我有 navigation bar
和 search
按钮。单击它会显示 searchbar
并在取消按钮上单击它会隐藏。但出于某种原因,如果 searchbar
被隐藏,那么导航栏 titleview 也会隐藏。什么会导致这个?一开始我其实是想让它从右边滑到titleView
但是我做不到所以我就这样做了
这是显示和隐藏它的代码:
//Create searchbar
func createSearchBar(){
searchBar.showsCancelButton = true
searchBar.tintColor = UIColor(red:0.184, green:0.996, blue:0.855, alpha:1.00)
searchBar.placeholder = "Search brands"
searchBar.delegate = self
searchBar.hidden = false
searchBar.alpha = 0
navigationItem.titleView = searchBar
navigationItem.setLeftBarButtonItem(menuButton, animated: true)
navigationItem.setRightBarButtonItem(searchButtton, animated: true)
UIView.animateWithDuration(0.5, animations: {
self.searchBar.alpha = 1
}, completion: { finished in
self.searchBar.becomeFirstResponder()
})
}
//Searchbar hide
func hideSearchBar() {
navigationItem.setLeftBarButtonItem(menuButton, animated: true)
navigationItem.setRightBarButtonItem(searchButtton, animated: true)
searchBar.alpha = 0
UIView.animateWithDuration(1, animations: {
}, completion: { finished in
})
}
//Searchbar cancel button
func searchBarCancelButtonClicked(searchBar: UISearchBar) {
hideSearchBar()
searchBar.endEditing(true)
snusBrandsTableView.reloadData()
}
如果你想在隐藏 searchBar
时设置 title
of navigationItem
你需要将 titleView
设置为 nil 然后设置标题。
func hideSearchBar() {
navigationItem.setLeftBarButtonItem(menuButton, animated: true)
navigationItem.setRightBarButtonItem(searchButtton, animated: true)
searchBar.alpha = 0
self.navigationItem.titleView = nil
self.navigationItem.title = "YourTitle"
}