Objective-C / Xcode 6:有一个search栏填充表视图的最佳方法?
我有上面的search栏的表格视图。 我的意图是让用户在search栏中input一个查询,并在表格视图中填充结果 – 无论是当用户按下input还是在input时。
阅读了很多教程之后,我select了search栏和search栏的search显示控制器 。 但是,看起来这个控制器比一个filter存在的表视图数据工具要less一个input查询然后显示结果的工具。 这意味着我来到一个表格视图,已经有了所有的数据,并在我键入时被过滤 – 我想要的是来一个空的表视图,并填充它。
我想知道是否有一种方法来使用search栏和search显示控制器来实现我想要的效果,或者有一个首选的方法?
当使用UISearchDisplayController
你将有两个UITableView
。 在您的search视图控制器中的一个。 所以假设你将UITableView
的数据源连接到你的UIViewController
,只要检查哪个表被传入,如果不是用于search,就返回什么。
例如
- (NSArray *) _sectionArrayForTable:(UITableView *) tableView { if (tableView == self.searchDisplayController.searchResultsTableView) { // Return your search results } // Show nothing when not searching return 0; }
这两个Ray Wenderlich教程非常适合学习如何在你的UITableView中实现search。
本教程介绍了使用Objective-C的基本search栏。 本教程将介绍使用Swift的search栏。
基本上(这里是非常基本的执行级别),你会想知道你是否在search。 如果你没有search,在你的tableView:numberOfRowsInSection:
方法中你可以返回0,否则返回结果的计数。 然后在你的tableView:cellForRowAtIndexPath:
方法中,你可以根据结果自定义正在显示的单元格。
当文本更改时,您将需要确定显示哪个结果,并更新某个数组或字典。 实现tableview数据源方法来显示该数组/字典的内容,并在文本更改时调用reload表