从MapViewController调用UINavigationController

时间:2013-06-05 23:10:55

标签: objective-c uinavigationcontroller segue uistoryboardsegue

我有一个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];

什么都不做!

请告知我如何致电导航仪?

1 个答案:

答案 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