我有一个添加了搜索栏图标的导航栏 点击搜索栏按钮可实例化UISearchBarController。
一切正常,除了“取消”按钮点击传播到下面的导航栏按钮(关闭当前模态)。
点击取消:
此处也完成了点击:
我目睹了一种可用的委托方法:
recipient
如何阻止事件传播?
注意:在搜索栏中输入文本后,只有在文本为空时点击“取消”时才会传播。很奇怪。
答案 0 :(得分:0)
我认为您所看到的是,在文字存在时点按Cancel
实际上是清除了UITextField
所拥有的UISearchBar
内的文字(作为{{1}的一部分}})。点击UISearchController
否则应该关闭搜索栏。从searchBarCancelButtonClicked:
上的Apple文档中可以看出:
通常,您实现此方法以关闭搜索栏。
我过去曾在Cancel
上使用“搜索栏”功能遇到此问题,这也是我切换到使用标准UITableViewController
的原因之一UIViewController
并拥有UITableView
。通过这种方式,我对视图控制器的内容和我正在使用的搜索栏有了更多的控制。
不确定这是否会直接对您有所帮助,但使用UISearchBar
代替UISearchBar
可能会让您指向更适合我的方向。
答案 1 :(得分:0)
重新启动模拟器修复了问题,无论什么都有意义。