如何隐藏UITableView?

时间:2012-09-18 15:25:01

标签: iphone uitableview

当我在视图控制器中按下按钮时,它会显示UIView,其中包含UISearchBarUISearchDisplayController以及UITableView(将视图的隐藏属性更改为NO)。 当我在表视图中选择一行时,我将视图的属性设置为hidden=YES,但它不会隐藏tableView。可能是什么问题?

我实施了UITableViewDelegate协议并收到了tableView:didSelectRowAtIndexPath:条消息(我在那里设置了视图hidden=YES

请注意,当我从hidden=YES调用视图的searchBarCancelButtonClicked:时,它会成功隐藏。

我认为UISearchDisplayController导致问题。

一些代码:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    self.searchView.hidden = YES; // hide successfully the tableView.
}

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath   *)indexPath
{
    self.searchView.hidden = YES; //doesn't hide the tableView.
}

编辑:发现问题,请参阅下面的答案。简而言之,我添加了[self.searchDisplayController setActive:NO];

3 个答案:

答案 0 :(得分:2)

发现问题 - 我需要添加[self.searchDisplayController setActive:NO];,现在它可以运行了。

代码:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath  
{
    [self.searchDisplayController setActive:NO]; //Added line of code.
    self.searchView.hidden = YES; // Now it works!
}

答案 1 :(得分:0)

试试这个:

 tableview.hidden = YES;

答案 2 :(得分:-2)

[self.yourview setHidden:Yes];

如果tableview在视图中,它也应该隐藏