我有一个MapViewController,一个UINavigatioController,它封装了一个UITableViewController,它被转移到一个放在 storyboard 中的UIViewController。在地图上我点击它时有一个按钮我希望调用UITableViewController并能够打开UIViewController。
如果我打电话
[self presentViewController:self.tableViewController animated:NO completion:nil];
显示了TableViewController但是在点击披露指示器时抛出异常:
“找不到segue'showApartmentDetails'的导航控制器。推送segues只能在源控制器由UINavigationController实例管理时使用。”
创建UINavigationController类型的属性并使用
初始化它self.navigationController = (UINavigationController*)[self.storyboard instantiateViewControllerWithIdentifier:@"myNavigationController"];
[self.navigationController pushViewController:self.tableViewController animated:NO];
什么都不做!
请告知我如何致电导航仪?
答案 0 :(得分:0)
问题是因为
[self presentViewController:self.tableViewController animated:NO completion:nil];
您需要展示处理UINavigationController
的{{1}}。因此,您需要将tableViewController
从故事板链接到UINavigationController
中名为UINavigationController *tableViewNavigationController
的商店。
MapViewController
或者只是将[self presentViewController:self.tableViewNavigationController animated:NO completion:nil];
按钮中的模态segue添加到情节提要中的MapViewController
。