如何使用NavigationController在TabBar中共享ViewController类?

时间:2013-05-13 04:00:02

标签: ios objective-c uinavigationcontroller storyboard uitabbarcontroller

由于我是iPhone开发的新手,我需要一些建议 我的应用有两个标签

  • 第一个标签显示包含lat / long和url的项目表。 当我在表格中选择一个项目时,然后在mapview中显示带有标注的位置。 在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'的导航控制器。推   segues只能在源控制器由a管理时使用   UINavigationController的实例。'

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

我认为NavigationController在此故事板布局的第二个选项卡上不起作用。

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

1 个答案:

答案 0 :(得分:0)

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