0

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

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

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

我认为这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];

4

3 回答 3

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!
}
于 2012-09-18T16:15:09.400 回答
0

试试这个:

 tableview.hidden = YES;
于 2012-09-18T15:28:11.417 回答
-2

[self.yourview setHidden: 是];

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

于 2012-09-18T15:29:43.190 回答