带导航栏的搜索控制器
Search controller with navigation bar
我有导航控制器 .hidesBarOnSwipe = true。
同样,当我执行搜索时,我的导航控制器会上升并隐藏(默认情况下应该如此)。
但是,如果我尝试搜索某些内容,然后按 (x) 清除我已经编写的内容,我的导航栏会与搜索栏重叠,但第二个仍然处于活动状态,我可以编写一些内容并执行搜索。
所以问题是我如何找到在我点击搜索栏上的 (x) 按钮时调用的方法。
当我的搜索栏仍然处于活动状态时,如何固定和隐藏我的导航栏,因为如果它仍然处于活动状态,我可以向下滑动我的导航栏再次与搜索栏重叠?
谢谢!
你可以得到X这个功能
func searchBar(searchBar: UISearchBar, textDidChange searchText: String) {
if searchText == "" {
print("SearchBar text cleared!")
// do something whatever you need
}
}
或使用
func textFieldShouldClear(textField: UITextField) -> Bool {
// do something here
return true
}
Swift3
func textFieldShouldClear(_ textField: UITextField) -> Bool {
// do something here
return true
}
或使用这个
func searchBarTextDidBeginEditing(searchBar: UISearchBar) {
if (searchBar.text == "") {
//Clear stuff here
}
}
有关更多信息,您可以从 here
获取示例
我有导航控制器 .hidesBarOnSwipe = true。 同样,当我执行搜索时,我的导航控制器会上升并隐藏(默认情况下应该如此)。
但是,如果我尝试搜索某些内容,然后按 (x) 清除我已经编写的内容,我的导航栏会与搜索栏重叠,但第二个仍然处于活动状态,我可以编写一些内容并执行搜索。
所以问题是我如何找到在我点击搜索栏上的 (x) 按钮时调用的方法。
当我的搜索栏仍然处于活动状态时,如何固定和隐藏我的导航栏,因为如果它仍然处于活动状态,我可以向下滑动我的导航栏再次与搜索栏重叠?
谢谢!
你可以得到X这个功能
func searchBar(searchBar: UISearchBar, textDidChange searchText: String) {
if searchText == "" {
print("SearchBar text cleared!")
// do something whatever you need
}
}
或使用
func textFieldShouldClear(textField: UITextField) -> Bool {
// do something here
return true
}
Swift3
func textFieldShouldClear(_ textField: UITextField) -> Bool {
// do something here
return true
}
或使用这个
func searchBarTextDidBeginEditing(searchBar: UISearchBar) {
if (searchBar.text == "") {
//Clear stuff here
}
}
有关更多信息,您可以从 here
获取示例