我对 iOS 和 iOS 开发还很陌生,我需要为我完成一项相当复杂的任务。我正在开发的应用程序有一个主视图,用户必须能够通过单击三个不同的按钮从主视图移动到三个不同的视图。这些视图将有自己的子视图层次结构,但这不是我现在的目标。目前,我正在努力完成这个子任务。我已经阅读了大部分关于 iPhone 开发的基础教程,并了解到该类UINavigationController
负责在视图层次结构中进行遍历。据我从教程中可以看到,UINavigationController
它提供了一个导航栏,但这提供了一个到单个视图的过渡。我的第一个问题是如何构建自定义导航系统,我应该子类化并以某种方式修改UINavigationController
还是另一种方法可能?这可能是一个非常简单的问题,但是那里有大量的材料只会让我更加困惑。
5 回答
首先,不要子类化UINavigationController
。苹果说不要,而且真的没有很好的理由这样做。
听起来您需要在尝试创建此应用程序之前完成更多教程。我强烈推荐 Ray Wenderlich 的网站,该网站有很多免费教程以及他提供的“iOS 示例”系列。(见http://www.raywenderlich.com/)
只需阅读他的一些免费教程即可开始,几乎所有教程都显示了如何做您正在寻找的东西。
祝你好运!
编辑
“垂直选项卡”不是 iOS 中的原生组件。但是,似乎有一些 3rd 方回购可以解决问题。我没有亲自使用过这个,但它似乎在其他 SO 帖子中被推荐(参见iOS 垂直标签栏),看看这是否有帮助:
我不会子类化UINavigationController
由于您是 iOS 开发的新手,我建议您使用故事板来完成您的流程。UINavigationController
使用、UIButtons
和其他基本元素可以很容易地实现这一点。
您必须构建一个 iOS 5 及更高版本的应用程序才能使用故事板。
一个标签栏管理一组 viewController。它可能比 UINavigationController 更接近您的想法,并且更易于实现。每个选项卡栏项可以是具有自己层次结构的 NavController,也可以是单个 viewController。
根据您的需要,您可以使用包含创建自己的导航层次结构;这是在 iOS 5 中引入的。如果你这样做,会涉及更多的工作。
我最近用它来做一些自定义用户界面。在一种情况下,我需要使用包含 UI 页面视图控制器的内容。
如果有的话,请绘制一个图表来表示您需要首先构建的控制器视图层次结构,然后决定您是否需要沿着这条路线走。
这是 Apple 文档的链接。
还有一个来自 WWDC 2011 的视频。
感谢所有分享他们知识的人。我想我已经想出了如何创建一个简单的视图层次结构,我现在正在应用它。我使用 UINavigationController 并在从 .xib 文件创建的视图控制器上调用它的 push-pop 方法。顺便说一句,http://www.simplecode.me/2011/09/04/an-introduction-to-uinavigationcontroller/上的教程也很有帮助,以防像我这样的其他新手寻求构建视图层次结构的方法。