将其他UINavigationController添加到子视图控制器

时间:2014-04-09 19:39:54

标签: ios uinavigationcontroller storyboard segue

我正在开发一款iPad应用程序,它可以显示从窗口侧面滑出的较小视图。我需要这个视图独立于应用程序的其余部分运行,我需要它拥有它自己的导航控制器,因此segues可以在它的表视图中执行。提出这种观点不是问题。我遇到的问题是我无法弄清楚如何设置UINavigationController以获得这个较小视图的根视图。

我通过将视图控制器添加为具有addChildViewController:的子视图来呈现此视图,然后将其移动到父视图(呈现视图控制器)。

我在故事板中创建了小视图控制器,然后通过它的标识符加载视图控制器。这是故事板的相关部分......

enter image description here

视图加载没有问题,但当我选择一个又调用[self performSegueWithIdentifier:gameIdentifier sender:self];的单元格时,我收到以下错误

Terminating app due to uncaught exception 'NSGenericException', reason: 'Could not find a navigation controller for segue 'Trivia'. Push segues can only be used when the source controller is managed by an instance of UINavigationController.'

我尝试将视图嵌入到故事板中的导航控制器中,但结果相同。

我很乐意提供任何澄清或其他详细信息。任何建议都非常感谢!谢谢!

1 个答案:

答案 0 :(得分:1)

您需要嵌入"游戏奖视图"在导航控制器中,然后当您调用addChildViewController:时,将导航控制器作为参数传递,而不是游戏视图。