2013-02-11 114 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