如何使用 UISearchBar 仅搜索 UITableView 的部分标题?
Posted
技术标签:
【中文标题】如何使用 UISearchBar 仅搜索 UITableView 的部分标题?【英文标题】:How to use UISearchBar to search only the sections titles of a UITableView? 【发布时间】:2012-11-03 18:14:37 【问题描述】:我有一个UITableView
,其中包含多个部分和许多行。
我不需要详细搜索,遍历tableview
中的所有单元格。
所有章节标题都包含在NSMutableArray
中。
有没有一种简单的方法可以只搜索UITableView
的部分标题,而不考虑单元格内容?
谢谢!
【问题讨论】:
【参考方案1】:您必须在表格的头部插入 uisearchbar。接下来,您必须实现一种方法,在带有标题的数组上搜索并创建一个包含要显示的元素的新数组(标题和单元格,它们也可以是两个数组,您必须根据正常的应用程序工作流程进行选择)和重新加载表格。
【讨论】:
感谢您的帮助!我稍后试试!【参考方案2】:参见this Apple 示例实现 - 注意函数名为:
- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope
这里,而不是:
for (Product *product in listContent)
你可以放:
for (NSString *sectionHeader in YourSectionArray)
还可以根据需要更改此功能的实现,您应该完成。 (例如,您可以忽略范围的事情,因为您只想搜索只是一个简单字符串的节标题)此功能只是搜索例程,您可以根据需要进行更改。它实际上是由以下委托函数调用的 - 您不想更改:
- (BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString
请注意,我建议的这个控件是一个内置的 tableview 控件,已经带有搜索栏。它是:
UITableViewController <UISearchDisplayDelegate, UISearchBarDelegate>
如果您自己添加了搜索栏,您需要将这两个代理都添加到您的 UITableView .h 文件中,就像我在上面所做的那样。如果您更愿意复制 Apple 的示例实现,请不要担心。
【讨论】:
感谢您的帮助!我稍后试试!以上是关于如何使用 UISearchBar 仅搜索 UITableView 的部分标题?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 iOS 中为 UISearchBar 设置最近的搜索历史下拉列表
单击 UISearchBar 的取消按钮后,如何使用 UISearchBar 刷新我的 UITableView?