我在UITableView的标题中使用了UISearchController的UISearchBar。我的搜索工作正常,当我在搜索栏的字段中输入一些文本时,会调用所有相关方法,并且表视图会按预期显示正确的搜索结果。
当我想点击其中一个结果来解决问题时,就出现了问题。只要点击其中一个表格视图单元格,搜索栏中的字段就会变空。由于搜索文本现在为空,因此搜索结果将更新,并且表视图将重新加载,结果为零。因此,表格单元格上的点击不执行任何操作,因为表格单元格不再存在。
我可以通过更新HashSet
方法来解决大多数问题,以便在搜索字符串为空时不更新搜索结果。这很好用。但无论如何,我仍然希望搜索文本保留在搜索字段中,这就是我的问题的关键......
为什么我的搜索字词会从搜索字段中消失,如何在我点击其他位置时阻止搜索字段变空?
以下是我设置搜索栏和搜索控制器的方法:
updateSearchResultsForSearchController:
编辑:我注意到,当搜索栏有焦点时,表格视图单元格变暗。因此,我认为搜索控制器正在捕获所有触摸,并可能处理它们,因为它们取消了'动作。如果是这样,我该如何阻止它以这种方式取消?
答案 0 :(得分:3)
想出来。我需要补充一下:
searcher.obscuresBackgroundDuringPresentation = NO;