2013-02-11 127 views
6

我有一個UITableViewsearchDisplayController實施。我有隱藏UITableView時searchResultsTableView顯示

tableView.backgroundColor = [UIColor clearColor]; 

self.searchDisplayController.searchResultsTableview.backgroundColor = [UIColor clearColor]; 

當我輸入的搜索欄中輸入文字,搜索結果顯示正常,但作爲結果表的背景是透明的,我看到我的tableview和在tableview上顯示搜索結果表。當searchField開始編輯時,我想隱藏tableView。我試過

-(BOOL)searchDisplayController:(UISearchDisplayController *)controller 
shouldReloadTableForSearchString:(NSString *)searchString 
{ 
    [tableView setHidden:YES]; 
    [self filterContentForSearchText:searchString 
           scope:[[self.searchDisplayController.searchBar scopeButtonTitles] 
             objectAtIndex:[self.searchDisplayController.searchBar 
                selectedScopeButtonIndex]]]; 

    return YES; 
} 

但它隱藏了searchBar和tableView。如何解決它?

+0

其中u添加的UISearchBar ???在UITableView? – iPatel 2013-02-11 07:09:03

+0

是的,我已經拖動了一個UISearchDisplayController並將搜索欄添加到tableView – tausun 2013-02-11 07:12:36

+0

非常感謝你,它的工作。 – tausun 2013-02-11 07:17:11

回答

2

首先,我知道你對UITableView添加searchDisplayController

刪除,請和添加您UISearchDisplayController- 視圖 - 控制器沒有UITableView,怎麼一回事,因爲如果隱藏UITableView然後UISearchDisplayController還隱藏了,因爲你添加UISearchDisplayController上UITableView

謝謝:)

0

首先要把表的出口,並與表 連接,然後重這行代碼

tableView.hidden=TRUE; 

它會工作....

+0

tableView已經是一個插座,並connected.and我做了你已發佈的同樣的事情。 – tausun 2013-02-11 07:18:06

2

您可以設置以這樣的方式爲tableView數據源,它返回0時,部分搜索界面可見:

- (NSInteger) numberOfSectionsInTableView: (UITableView *) tableView 
{ 
    if (self.searchDisplayController.active && 
     (tableView != self.searchDisplayController.searchResultsTableview)) 
     return 0; // return 0 for bottom table view if search interface is active 
    else 
     return <your usual number of sections> 
} 

然後躲藏,而不是你的表格視圖,您可以執行[tableView reloadData]來隱藏所有內容。然後在搜索完成後,重新加載表格視圖以再次顯示內容。

重新加載表視圖將重置所有表視圖單元格和表視圖的內容偏移量,所以在某些情況下這可能不是一個好主意。

或者,你可以嘗試通過所有的表視圖的可見單元格的迭代和隱藏這樣的:

for (UITableViewCell *cell in tableView.visibleCells) 
{ 
    cell.hidden = YES; 
} 
+0

我早就想到了這個過程,但我需要一個更簡單的解決方案。感謝您的答覆。 – tausun 2013-02-11 07:28:20