我有UITableView
部分和许多行。
我不需要详细搜索,浏览tableview
中的所有单元格。
所有章节标题都包含在NSMutableArray
。
是否有一种简单的方法可以只搜索UITableView
的部分标题,而忽略单元格内容?
谢谢!
答案 0 :(得分:2)
你必须在表头上插入uisearchbar。接下来,您必须实现一个方法,使用标题搜索数组并创建一个包含要显示的元素的新数组(标题和单元格,它们也可以是两个数组,您必须根据常规应用程序工作流程选择)和重装表。
答案 1 :(得分:1)
请参阅this Apple Sample实现 - 请注意名为
的函数- (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的示例实现,不用担心。