停止传播取消按钮UISearchBarController

时间:2018-04-05 19:02:08

标签: ios swift uisearchbar

我有一个添加了搜索栏图标的导航栏 点击搜索栏按钮可实例化UISearchBarController。

一切正常,除了“取消”按钮点击传播到下面的导航栏按钮(关闭当前模态)。

点击取消:

enter image description here

此处也完成了点击:

enter image description here

我目睹了一种可用的委托方法:

recipient

如何阻止事件传播?

注意:在搜索栏中输入文本后,只有在文本为空时点击“取消”时才会传播。很奇怪。

2 个答案:

答案 0 :(得分:0)

我认为您所看到的是,在文字存在时点按Cancel实际上是清除了UITextField所拥有的UISearchBar内的文字(作为{{1}的一部分}})。点击UISearchController否则应该关闭搜索栏。从searchBarCancelButtonClicked:上的Apple文档中可以看出:

  

通常,您实现此方法以关闭搜索栏。

我过去曾在Cancel上使用“搜索栏”功能遇到此问题,这也是我切换到使用标准UITableViewController的原因之一UIViewController并拥有UITableView。通过这种方式,我对视图控制器的内容和我正在使用的搜索栏有了更多的控制。

不确定这是否会直接对您有所帮助,但使用UISearchBar代替UISearchBar可能会让您指向更适合我的方向。

答案 1 :(得分:0)

重新启动模拟器修复了问题,无论什么都有意义。