iPad App:自定义默认导航控制器

时间:2012-11-20 04:38:11

标签: ios xcode ipad uinavigationcontroller

嗯,我不确定标题应该是什么。

我正在开发一款iPad应用。我的应用程序将具有以下层次结构。

enter image description here

'Front Page'只是一个页面(视图控制器)供用户选择语言。选择语言后,将显示“菜单页面”视图控制器。

从下面的菜单页面和所有视图控制器(VC)开始,页面布局就是这样的。

enter image description here

如您所见,有顶级菜单和底部菜单。单击按钮,应用程序将快速跳转到相应的视图控制器(树中的第3级,VC1,VC2,VC3等)。对于每个视图,每个页面上都有一个BACK按钮,单击该按钮将返回到父视图控制器。

我正在考虑使用标签栏视图控制器和导航视图控制器来实现这一点,但我仍然不清楚如何实现它。

或者我应该只使用导航视图控制器并隐藏除了后退按钮之外的顶部工具栏,并在所有其他UIViews之上显示叠加UIView作为菜单。

有人能帮助我吗?感谢。

由于这是我应用程序的最外层容器,我希望在开始时正确执行..

对不起我的长话题。

3 个答案:

答案 0 :(得分:2)

这取决于您想要使用哪种视图转换,以及如何更新顶部和底部栏中的按钮。

如果您想要常见的导航过渡,可以在根目录下使用navigationController。对于底栏中的按钮,您可以使用toolBar。

但是,如果您想继续使用tabbarController,强烈建议不要将rootController用作root并推送不同的tabbarControllers。换句话说,修改viewControllers树以保持tabbarController为root。

您应该做出的最重要的决定是您希望将哪种容器控制器用作根控制器。根据我的经验,navigationController可以最灵活地实现您的工作流程。

如果您愿意,可以创建自己的容器控制器: http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/CreatingCustomContainerViewControllers/CreatingCustomContainerViewControllers.html

除非你想避免实现视图转换,否则它看起来并不太难。

答案 1 :(得分:1)

我建议您在整个过程中隐藏导航栏,并使用带有自定义按钮的工具栏

答案 2 :(得分:1)

最后我决定编写自己的容器视图控制器,它类似于默认的导航控制器,顶部和底部都有自定义工具栏。

我花了整整一晚阅读关于UIViewController的官方IOS指南,并对如何编写它有一个非常清楚的理解。

http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/ViewLoadingandUnloading/ViewLoadingandUnloading.html

证明实施起来并不困难