我想通过过滤条目的UISearchBar的列表和显示详细信息用户点击一个结果行之后。 全部列表视图和详细信息视图通过导航控制器相连。 正常使用情况下(没有搜索)的作品般的魅力:
(ListOfAllEntries)
=> (direct click on row)
==> (Details view for row)
这是也应努力:
(ListOfAllEntries)
=> (Search) - OK!
==> (ListOfFilteredEntries) - OK!
===> (click on result row) - OK!
====> (Details view for row) - BOOUUMMM! UI and Nav.Ctrl broken
我使用一个UISearchBar(与UISearchDisplayController)来过滤的底层的UITableView。 作为苹果公司建议过滤的搜索结果会显示在所有的项目我原来的表视图顶部的默认第二表视图(searchDisplayController.searchResultsTableView)。
一切工作正常 - 过滤条目,并且我得到正确的结果行indexpath。 直到用户点击一个搜索结果行,我要推的详细信息视图的导航控制器顶部的选定行。 我的目标详细信息视图显示,但然后我的计划是在以下几个方面破:
- 滑动导航栏下方的目标视图显示器(见图像#2)
- 如果我按导航栏上的“BACK”我得到一个空白屏幕(见图片#3),之后再返回点击我的应用程序崩溃)
uncaught exception 'NSInvalidArgumentException', reason: 'Can't add self as subview'
我试图显示与赛格瑞目标视图(场景):
if (tableView == self.searchController.searchResultsTableView) {
[self performSegueWithIdentifier: @"showFoods" sender: self];
}
我试图显示经由直接推目标视图:
FoodViewController *fvc = [self.storyboard instantiateViewControllerWithIdentifier:@"FoodViewController"];
[self.navigationController pushViewController:fvc animated:YES];
这两种方法都得到相同的错误应用的行为。
见我的图片:
- 为什么我的个人资料在导航栏下方列表?
- 为什么导航堆栈乱码后,我把我的信息的场景?
任何暗示将不胜感激。
在的UISearchBar行动:
点击搜索结果行后 - 导航栏下我的个人资料现场的幻灯片
按“BACK”的场景中的所有条目不显示后
我的故事板。 注:红色箭头标志的问题。 (在故事板SEGUE效果很好。但如果我想语法去红色箭头的方式,我的UI是搞砸了!)。