UISearchDisplayController显示未过滤的数据

时间:2012-09-11 05:28:57

标签: objective-c ios uisearchdisplaycontroller

感谢您阅读我的问题。我有一个有趣的问题,我无法弄清楚,希望社区可以提供帮助。我有一个UITableViewController(LibraryViewController),它有一个UISearchDisplayController作为变量。我有另外两个对象。首先,NSObject的子类定义我的数据对象(两个NSString对象),称为LibraryDataObject。第二个是NSObject的子类,它有两个NSMutableArray个对象,并实现名为LibraryDataModel的UITableViewDataSource协议。

LibraryViewController还拥有一个名为libraryDataSource的LibraryDataModel实例。它已正确初始化。此外,LibraryViewController和UISearchDisplayController的代理设置为LibraryDataModel。未搜索的视图正确填充。并且,当我搜索时,列表会根据搜索条件填充正确的项目。该代码基于TableSearch文档代码。

这是我的问题变得明显的地方。搜索时,表格将缩减为搜索框中的条款。但是,当我滚动表格并超出搜索字词的范围时,它会开始使用基础tableView:cellForRowAtIndexPath:的表格视图发送消息UITableViewController

之前有没有人遇到这种特殊情况?谢谢。

1 个答案:

答案 0 :(得分:0)

我向Apple开了个案,他们帮了我。这种行为不是我想要的,但它解释了这个问题。我通过使用[self.parentViewController.view addSubview:searchBar]将其推入堆栈来添加搜索栏;但是,我应该在self.tableView.tableHeaderView = searchBar中添加搜索栏;此问题消失了,但搜索栏位于tableview的顶部,而不是视图上的静态。看看是否可以修改。