带有静态导航栏的 UINavigationController

Posted

技术标签:

【中文标题】带有静态导航栏的 UINavigationController【英文标题】:UINavigationController with static navigation bar 【发布时间】:2012-07-26 03:49:03 【问题描述】:

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

我正在使用 ios 5,因此我可以使用容器视图控制器。我想在故事板中做尽可能多的事情。

这是我想做的:

某些数据项列在表视图控制器中。 当用户单击其中一项时,我们会通过模态显示其主视图控制器来启动学习会话。 一个学习会话由 4 个视图控制器组成,这些控制器从右侧依次推送。 这四个屏幕都有一个导航栏,其中包含: 同名。 同样的左侧项目:一个“关闭”按钮,它将关闭整个模态研究会话。 其中两个具有特定于屏幕的右侧项目,另外两个没有。 这四个屏幕之间的转换应以 UINavigationController 样式设置动画,但导航栏不应设置动画。

这是我正在考虑的实现此行为的一种方式:

以模态方式显示一个自定义容器视图控制器,其中包含:

一个没有导航栏的 UINavigationController,我会在其中推送我的屏幕 一个单独的 UINavigationBar,将位于导航控制器上方。

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

有人对这种方法有意见,或者建议的优雅替代方案吗?

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

【问题讨论】:

您找到解决方案了吗?我也在寻找相同的实现 【参考方案1】:

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

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

【讨论】:

以上是关于带有静态导航栏的 UINavigationController的主要内容,如果未能解决你的问题,请参考以下文章

带有透明导航栏的可见按钮

滚动上带有隐藏导航栏的页面菜单

iOS - Navigationcontroller 与带有导航栏的 Viewcontroller

Android - 为带有导航抽屉和应用栏的应用完全隐藏状态和导航栏

iOS - 导航栏 - 带有另一个导航栏的内部表格视图

带有片段和底部导航栏的 Android FloatingActionButton