4

我的 UISearchDisplayController 页面视图如下(原始状态)

在此处输入图像描述

单击搜索栏并输入一些搜索词后,我会在表格中获得结果列表

在此处输入图像描述

单击表中的条目后,堆栈顶部会显示一个新的 viewController

在此处输入图像描述

我的意图是单击取消按钮(在左上角),根视图将显示 searchDisplay 控制器的原始状态

在此处输入图像描述

这是我尝试过的

在我的取消方法中(当我点击左上角的取消按钮时触发)

- (void)cancel
{
  [self dismissViewControllerAnimated:YES completion:NULL];
  [self searchBarCancelButtonClicked:self.searchDisplayController.searchBar];
}

在搜索栏委托方法中,我这样做了

- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar {
    self.searchBar.showsCancelButton = NO;

    [self.searchBar resignFirstResponder];
    self.searchBar.text = @"";
    searchDisplayController.searchResultsTableView.hidden = YES;
    [self searchDisplayControllerWillEndSearch:self.searchDisplayController];
}

单击取消按钮后,我设法实现的就是这个

在此处输入图像描述

原来的tableview似乎不见了(只有当我点击页面时才会出现)

如何修改我的方法以将搜索恢复到其原始状态?

4

1 回答 1

8

尝试[searchDisplayController setActive:NO animated:NO]

这应该隐藏搜索表。

于 2012-12-24T19:06:11.733 回答