带静态导航栏的UINavigationController

时间:2012-07-26 03:49:04

标签: iphone ios cocoa-touch

我正在开发一个教育性的iPhone应用程序,我正在寻找有关我的应用程序特定部分的最佳架构的建议。

我正在使用iOS 5,所以我可以使用容器视图控制器。我想在故事板中尽可能多地做。

这就是我想要做的事情:

  • 某些数据项列在表视图控制器中。
  • 当用户点击其中一个项目时,我们通过以模态方式呈现其主视图控制器来开始学习会话。
  • 研究会议由4个视图控制器组成,这些视图控制器是从右侧推出的,一个接一个。
  • 这四个屏幕都有一个导航栏:
    • 同一标题。
    • 相同的左项:“关闭”按钮,将关闭整个模态学习课程。
    • 其中两个有特定于屏幕的右项,另外两个没有。
  • 这四个屏幕之间的过渡应该以UINavigationController样式设置动画,但导航栏不应该是动画。

以下是我正在考虑实现此行为的方法:

以模态方式显示包含以下内容的自定义容器视图控制器:

  • 一个没有导航栏的UINavigationController,我会按下我的屏幕
  • 一个单独的UINavigationBar,它将位于导航控制器之上。

屏幕将定义其导航栏的正确项目(如果有),容器视图控制器将负责将其放入导航栏。

有人对此方法有意见,还是建议的优雅替代方案?

感谢。祝你有美好的一天!

1 个答案:

答案 0 :(得分:0)

您可以使用基于单一视图的项目来实现此目的。添加导航控制器以在用户单击tableview内容时推送。通过推动动画,您的视图将从tableview转换到另一个视图控制器。

现在,您可以显示第一章,并在视图中添加滑动手势,以便更改页面。