我对iOS和iOS开发很新,我需要为我完成一个相当复杂的任务。我正在开发的应用程序有一个主要视图,用户必须通过点击三个不同的按钮才能移动到三个不同的视图。这些视图会有自己的子视图层次结构,但这不是我现在的目标。目前,我正在努力完成这个子任务。我已阅读了大部分关于iPhone开发的基本教程,并了解到类UINavigationController
负责遍历视图层次结构。就我从教程中可以看到的,UINavigationController
提供了一个导航栏,但这只是为单个视图提供了一个转换。我的第一个问题是我如何建立一个自定义的导航系统,我应该继承和修改UINavigationController
还是另一种可能的方法?这可能是一个非常简单的问题,但是那里有很多材料只会让我更加困惑。iPhone开发:如何构建自定义视图层次结构?
回答
首先,不要子类UINavigationController
。苹果公司表示不会,而且确实没有理由这样做。
听起来你需要在尝试创建这个应用程序之前通过一些更多的教程。我强烈建议Ray Wenderlich的网站有很多免费的教程,以及他提供的'iOS by Example'系列。 (见http://www.raywenderlich.com/)
只要通过他的一些免费教程开始,几乎所有的人都展示了如何去做你正在寻找的东西。
祝你好运!
编辑
“垂直标签” 是不是在iOS的原生成分。但是,似乎有一些第三方回购可能会诀窍。我没有亲自使用这一点,但它似乎对其他SO帖子被recommned(见iOS vertical tab bar),看看是否有所帮助:
雷有很棒的教程 –
我目前正在阅读[link](http://www.raywenderlich.com/5138/beginning-storyboards-in-ios-5-part-1)的故事板教程。该教程是一个很好的开始,我认为Tab Bar Controller可以完成我需要的任务。但我需要在屏幕左侧列出的垂直制表符。此外,我需要自定义标签按钮的外观,例如我需要将自定义图像放在它们中。这怎么可能? –
我不会继承UINavigationController
既然你是新到iOS开发,我建议你使用故事板来完成你的流程。这可以通过UINavigationController
,UIButtons
和其他基本元素很容易地实现。
您将不得不构建iOS 5及以上版本的应用程序以使用故事板。
一个标签栏管理一个viewControllers数组。它可能比UINavigationController更接近您的想法,并且更直接地实现。每个标签栏项目可以是具有其自己的层级的NavController或单个viewController。
根据您的需要,您可以使用遏制来创建您自己的导航层次结构;这是在iOS 5中引入的。如果你这样做,还会涉及更多的工作。
我最近用它来做一些自定义用户界面。在一种情况下,我需要使用UI页面视图控制器来控制遏制。
如果有的话,绘制一张图表来表示控制器视图层次结构,您需要首先构建&然后决定是否需要沿着这条路线走下去。
以下是Apple文档的链接。
Apple documentation on creating custom container view controllers
还有从2011年WWDC
感谢所有视频谁分享他们的知识。我想我已经想出了如何创建一个简单的视图层次结构,我现在正在应用它。我使用UINavigationController并在从.xib文件创建的视图控制器上调用它的push-pop方法。顺便说一下,http://www.simplecode.me/2011/09/04/an-introduction-to-uinavigationcontroller/的教程也非常有帮助,以便像我这样的其他新手寻求构建视图层次结构的方法。
- 1. 如何在iPhone上创建表视图层次结构?
- 2. Android +具有自定义视图层次结构的ListFragment
- 3. 斯威夫特:自定义视图层次结构
- 4. 如何构建层次结构?
- 5. iPhone视图控制器层次结构的开销是多少?
- 6. c#构建层次结构
- 7. 自定义ViewGroup在视图层次结构中创建两个节点
- 8. iPhone - 当视图层次结构与模型层次结构具有并行结构时应用MVC
- 9. iPhone:视图和子视图的层次结构
- 10. 试图了解视图层次结构
- 11. android视图层次结构不捕获自定义视图小部件树结构
- 12. viewWillAppear与loadView构建视图层次结构
- 13. 使用相对路径构建视图层次结构
- 14. 创建支持层次结构的自定义内容控件
- 15. 创建层次结构自定义服务器控件
- 16. UIView自动布局:子视图的层次结构VS最小视图层次结构?
- 17. iPhone视图层次结构问题:如何在标签栏上绘制视图?
- 18. 旋转视图层次结构90度
- 19. NSView - 获取超视图层次结构
- 20. ImagePicker在视图层次结构问题
- 21. 视图层次结构不准备
- 22. 实现Backbone.js视图层次结构
- 23. iOS 6视图层次结构恶梦
- 24. 视图层次结构刷新时机
- 25. Jquery和PHP层次结构视图
- 26. 设置内容视图层次结构
- 27. android - 什么是视图层次结构?
- 28. 如何创建此层次结构
- 29. 如何建模表层次结构
- 30. ios4中的UIViewController,UIView和View层次结构SDK/iphone开发
您可以使用导航控制器的推送方法转到您想要的任何视图。 – Linuxios
您可能会发现[Storyboards](http://www.raywenderlich.com/5138/beginning-storyboards-in-ios-5-part-1)有助于简化UI开发。 – GriffeyDog
如果我将导航控制器顶部的默认导航栏隐藏起来,并添加了在相应视图上调用按钮的按钮,它会起作用吗? –