2012-09-11 40 views
3

感謝您閱讀我的問題。我有一個有趣的問題,我無法弄清楚,希望社區能夠提供幫助。我有一個UITableViewController(LibraryViewController),它有一個UISearchDisplayController作爲變量。我有另外兩個物體。首先,定義我的數據對象(兩個NSString對象)的子類NSObject,稱爲LibraryDataObject。第二個是NSObject的子類,它有兩個NSMutableArray對象並實現了名爲LibraryDataModel的UITableViewDataSource協議。UISearchDisplayController顯示未經過濾的數據

LibraryViewController還擁有一個名爲libraryDataSource的LibraryDataModel實例。它被正確初始化。另外,LibraryViewController的代理和UISearchDisplayController被設置爲LibraryDataModel。未搜索的視圖正確填充。而且,當我搜索時,該列表根據搜索條件填充正確的項目。該代碼基於TableSearch文檔代碼。

這是我的問題變得明顯的地方。搜索時,表格會縮減爲搜索框中的條款。但是,當我滾動表格並超出搜索條件的界限時,它將以UITableViewController的基本表格視圖開始發送消息tableView:cellForRowAtIndexPath:

有沒有人遇到過這種特殊情況?謝謝。

+0

你的標題和問題不匹配,你的意思是未過濾而不是未排序? –

+0

是你的'LibraryDataSource'' tableView:numberOfRowsInSection:'方法返回搜索結果表的正確行數嗎? – FluffulousChimp

+0

@CarlVeazey我道歉。是的,未經過濾,不排序。我會看看我是否可以更新標題。 – Wayne

回答

0

我開了一個蘋果案,他們幫助我。行爲不是我想要的,但它解釋了這個問題。我用[self.parentViewController.view addSubview:searchBar]將其推入堆棧來添加搜索欄;但是,我應該添加搜索欄self.tableView.tableHeaderView = searchBar;這個問題消失了,但是搜索欄位於tableview的頂部,而不是視圖上的靜態。看看是否可以修改。