0

我有一个 MapViewController,一个 UINavigatioController,它封装了一个 UITableViewController,它与一个 UIViewController 保持一致,所有这些都放在storyboard中。在地图上我有一个按钮,点击它时我希望调用 UITableViewController 并能够打开 UIViewController。

如果我打电话

[self presentViewController:self.tableViewController animated:NO completion:nil];

显示了 TableViewController,但是当单击披露指示器时,抛出异常:

“找不到用于 segue 'showApartmentDetails' 的导航控制器。只有当源控制器由 UINavigationController 的实例管理时,才能使用推送 segues。”

创建 UINavigationController 类型的属性并使用初始化它

self.navigationController = (UINavigationController*)[self.storyboard instantiateViewControllerWithIdentifier:@"myNavigationController"];
[self.navigationController pushViewController:self.tableViewController animated:NO];

什么都不做!

请告知我如何调用导航器?

4

1 回答 1

0

问题是因为

[self presentViewController:self.tableViewController animated:NO completion:nil];

您需要出示UINavigationControllerthat handles tableViewController。所以你需要将它UINavigationController从情节提要链接到一个名为UINavigationController *tableViewNavigationController, in的出口MapViewController

[self presentViewController:self.tableViewNavigationController animated:NO completion:nil];

MapViewController或者只是从故事板中的按钮添加模态segue UINavigationController

于 2013-06-05T23:43:03.447 回答