当我在视图控制器中按下按钮时,它会显示UIView
,其中包含UISearchBar
和UISearchDisplayController
以及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];
答案 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在视图中,它也应该隐藏