使用导航栏搜索控制器

时间:2016-10-06 10:50:35

标签: ios swift uinavigationbar uisearchbar

我的导航控制器有 .hidesBarOnSwipe = true 。 当我执行搜索时,我的导航控制器也会上升并隐藏(默认情况下应该这样)。

但是,如果我尝试搜索某些内容然后按(x)清除我已编写的内容,我的导航栏会与搜索栏重叠,但第二个仍处于活动状态,我可以编写内容并执行搜索。

所以问题是如何在搜索栏上点击(x)按钮时找到调用的方法。

如果我的搜索栏仍然处于活动状态,怎样才能使我的导航栏固定并隐藏,因为如果它仍然处于活动状态我可以向下滑动我的导航栏会再次重叠搜索栏?

谢谢!

1 个答案:

答案 0 :(得分:1)

你可以通过 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

获取样本