运行程序时,收到以下崩溃错误:
断言失败 - [UISearchDisplayController setActive:animated:],/ SourceCache / UIKit_Sim / UIKit-2903.23 / UISearchDisplayController.m:1275
由于未捕获的异常终止应用程序' NSInternalInconsistencyException',原因:'搜索内容导航控制器不能在-setActive:YES和-setActive之间更改:否'
在下面的代码块之后,我在搜索栏上点击取消时发生错误:
-(void)searchBarCancelButtonClicked:(UISearchBar *) searchBar {
[self.searchBar resignFirstResponder];
_displayRowData = nil;
[_sdc.searchResultsTableView reloadData];
[self.navigationController popViewControllerAnimated:NO];
}
注意:切换到:
时,此错误消失了[self.navigationController popViewControllerAnimated:YES];
即使我发出了对-setActive的唯一电话,这个错误仍然存在。
没有动画的popViewController的正确方法是什么?调用此选项时,导航堆栈上还有另一个视图控制器。我不能使用dismissViewController,因为我需要保留导航堆栈上的所有内容。我只想要一个干净的过渡到我以前的视图控制器。
答案 0 :(得分:0)
解决。在弹出之前调用以下内容修复了我的问题:
[_sdc setActive:NO animated:YES];
[self.navigationController popViewControllerAnimated:NO];