Swift 隐藏搜索栏也会隐藏导航栏标题
我有Swift 隐藏搜索栏也会隐藏导航栏标题,swift,uinavigationbar,Swift,Uinavigationbar,我有导航栏和搜索按钮。单击它会显示搜索栏,单击取消按钮会隐藏它。但由于某种原因,如果搜索栏被隐藏,则导航栏标题视图也会隐藏。这是什么原因造成的?起初我真的想让它从右边滑到标题视图,但我没能做到,所以我就这样做了 这是显示和隐藏它的代码: //Create searchbar func createSearchBar(){ searchBar.showsCancelButton = true searchBar.tintColor = UIColor(re
导航栏
和搜索
按钮。单击它会显示搜索栏
,单击取消按钮会隐藏它。但由于某种原因,如果搜索栏
被隐藏,则导航栏标题视图也会隐藏。这是什么原因造成的?起初我真的想让它从右边滑到标题视图,但我没能做到,所以我就这样做了
这是显示和隐藏它的代码:
//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()
}
如果要在隐藏
搜索栏时设置导航项的标题
,则需要将标题视图
设置为零,然后设置标题
func hideSearchBar() {
navigationItem.setLeftBarButtonItem(menuButton, animated: true)
navigationItem.setRightBarButtonItem(searchButtton, animated: true)
searchBar.alpha = 0
self.navigationItem.titleView = nil
self.navigationItem.title = "YourTitle"
}
如果要在隐藏搜索栏时设置导航项的标题
,则需要将标题视图
设置为零,然后设置标题
func hideSearchBar() {
navigationItem.setLeftBarButtonItem(menuButton, animated: true)
navigationItem.setRightBarButtonItem(searchButtton, animated: true)
searchBar.alpha = 0
self.navigationItem.titleView = nil
self.navigationItem.title = "YourTitle"
}
如果可能,请选择屏幕截图;如果您想显示标题,请选择隐藏标题视图;如果可能,请选择屏幕截图;如果您想显示标题,请选择隐藏标题视图