当 UISearchBar 变为活动状态时,UISearchResultsTableView 不会出现

Posted

技术标签:

【中文标题】当 UISearchBar 变为活动状态时,UISearchResultsTableView 不会出现【英文标题】:UISearchResultsTableView doesn't appear when UISearchBar becomes active 【发布时间】:2015-12-21 13:24:34 【问题描述】:

当搜索栏的文本字段变为活动状态时,我需要我的搜索栏来显示搜索结果。我用

- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar 

调用,但没有对象立即显示 UISearchResultsTableView。 它仅在搜索文本字段中输入第一个字母时显示。

【问题讨论】:

【参考方案1】:

过滤掉搜索结果的逻辑应该加入

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText

委托方法。

- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar 

可用于在开始编辑搜索栏时刷新数组对象。

【讨论】:

这不是特别需要的。当文本字段为空时,当它获得焦点时,我需要在下面显示所有可用的搜索结果。我应该调用什么方法? 如果 searchBar Text 为 nil 或为空,则分配给 tableview 的数组应该有所有结果。如果它是空的,那就是没有结果。 数组不为空,有所有结果,但不显示在iPhone屏幕上。 只有当我在搜索文本框中输入第一个字母时才会显示结果。 表格视图是否在选择searchBar之前或在searchBar上设置焦点之前显示所有结果【参考方案2】:

使用这个方法:

- (void)textFieldDidBeginEditing:(UITextField *)textField;

它将在触摸文本字段时执行。

【讨论】:

以上是关于当 UISearchBar 变为活动状态时,UISearchResultsTableView 不会出现的主要内容,如果未能解决你的问题,请参考以下文章

当 UISearchBar 处于活动状态时,滚动到 UITableView 应用程序会崩溃

UISearchBar 在活动时与 UITableView 内容重叠

呈现搜索结果控制器时 UISearchBar 的高度不正确

Objective-C - 滚动时 UISearchController 结果在 UISearchBar 上重叠

为啥当其他 textField 变为活动状态时,scrollView 会向下滚动?

当实际的活动名称节点关闭时,HDFS HA 集群备用节点不会变为活动状态