我有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似乎缺失(仅当我点击页面时才会显示)
如何修改我的方法以将搜索恢复为原始状态?
答案 0 :(得分:8)
尝试[searchDisplayController setActive:NO animated:NO]
这应隐藏搜索表。