0

由于我是 iPhone 开发的新手,我需要一些建议。
我的应用程序有两个选项卡

  • 第一个选项卡显示具有 lat/long 和 url 的项目表。当我在表格中选择一个项目时,然后在地图视图中使用标注显示其位置。在 mapview 中,选择标注可以在 webview 中显示其网站。
  • 第二个选项卡一次显示位于 mapview 上的所有项目。在 mapview 中,选择一个标注并在 webview 中显示其网站。

我的故事板布局是,

NavigationController -> tabBarContoller
                        firstTab) tableView ->(segue"showDetail")->(*1 leads to mapView of secondTab) 
                        secondTab) mapView ->(segue"showWeb")-> webView


每个选项卡的 mapView 和 webView 共享同一个类。在情节提要上,第一个选项卡的 tableViewController 的 segue 导致第二个选项卡的 mapViewController。

第一个选项卡可以在 mapView 上显示注释,然后在 webView 上显示网站。第二个选项卡在 mapView 上显示注释,但是当我推送一个注释的标注时,抛出异常说

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

当然我知道我可以为每个选项卡使用两种不同的 mapview 和 webview 实现,但我想集体实现以考虑维护。

我认为 NavigationController 在此情节提要布局的第二个选项卡上不起作用。

请有人告诉我该怎么做。谢谢 :)

4

1 回答 1

0

您的标签栏控制器应该是第一个控制器,并且表格视图和地图视图控制器都应该嵌入到它们自己的导航控制器中。

于 2013-05-13T04:02:45.270 回答