2012-12-18 31 views
0

我对iOS和iOS开发很新,我需要为我完成一个相当复杂的任务。我正在开发的应用程序有一个主要视图,用户必须通过点击三个不同的按钮才能移动到三个不同的视图。这些视图会有自己的子视图层次结构,但这不是我现在的目标。目前,我正在努力完成这个子任务。我已阅读了大部分关于iPhone开发的基本教程,并了解到类UINavigationController负责遍历视图层次结构。就我从教程中可以看到的,UINavigationController提供了一个导航栏,但这只是为单个视图提供了一个转换。我的第一个问题是我如何建立一个自定义的导航系统,我应该继承和修改UINavigationController还是另一种可能的方法?这可能是一个非常简单的问题,但是那里有很多材料只会让我更加困惑。iPhone开发:如何构建自定义视图层次结构?

+0

您可以使用导航控制器的推送方法转到您想要的任何视图。 – Linuxios

+1

您可能会发现[Storyboards](http://www.raywenderlich.com/5138/beginning-storyboards-in-ios-5-part-1)有助于简化UI开发。 – GriffeyDog

+0

如果我将导航控制器顶部的默认导航栏隐藏起来,并添加了在相应视图上调用按钮的按钮,它会起作用吗? –

回答

3

首先,不要子类UINavigationController。苹果公司表示不会,而且确实没有理由这样做。

听起来你需要在尝试创建这个应用程序之前通过一些更多的教程。我强烈建议Ray Wenderlich的网站有很多免费的教程,以及他提供的'iOS by Example'系列。 (见http://www.raywenderlich.com/

只要通过他的一些免费教程开始,几乎所有的人都展示了如何去做你正在寻找的东西。

祝你好运!

编辑

“垂直标签” 是不是在iOS的原生成分。但是,似乎有一些第三方回购可能会诀窍。我没有亲自使用这一点,但它似乎对其他SO帖子被recommned(见iOS vertical tab bar),看看是否有所帮助:

https://github.com/futuresimple/FSVerticalTabBarController

+1

雷有很棒的教程 –

+0

我目前正在阅读[link](http://www.raywenderlich.com/5138/beginning-storyboards-in-ios-5-part-1)的故事板教程。该教程是一个很好的开始,我认为Tab Bar Controller可以完成我需要的任务。但我需要在屏幕左侧列出的垂直制表符。此外,我需要自定义标签按钮的外观,例如我需要将自定义图像放在它们中。这怎么可能? –

0

我不会继承UINavigationController

既然你是新到iOS开发,我建议你使用故事板来完成你的流程。这可以通过UINavigationController,UIButtons和其他基本元素很容易地实现。

您将不得不构建iOS 5及以上版本的应用程序以使用故事板。

0

看看UITabBarController

一个标签栏管理一个viewControllers数组。它可能比UINavigationController更接近您的想法,并且更直接地实现。每个标签栏项目可以是具有其自己的层级的NavController或单个viewController。

0

根据您的需要,您可以使用遏制来创建您自己的导航层次结构;这是在iOS 5中引入的。如果你这样做,还会涉及更多的工作。

我最近用它来做一些自定义用户界面。在一种情况下,我需要使用UI页面视图控制器来控制遏制。

如果有的话,绘制一张图表来表示控制器视图层次结构,您需要首先构建&然后决定是否需要沿着这条路线走下去。

以下是Apple文档的链接。

Apple documentation on creating custom container view controllers

还有从2011年WWDC

0

感谢所有视频谁分享他们的知识。我想我已经想出了如何创建一个简单的视图层次结构,我现在正在应用它。我使用UINavigationController并在从.xib文件创建的视图控制器上调用它的push-pop方法。顺便说一下,http://www.simplecode.me/2011/09/04/an-introduction-to-uinavigationcontroller/的教程也非常有帮助,以便像我这样的其他新手寻求构建视图层次结构的方法。