导航控制器和viewcontroller的区别?

Difference between navigation controller and viewcontroller?

导航控制器和viewcontroller的区别? 我的意思是我们如何决定何时使用导航控制器或普通视图控制器?

这是一个非常简短的高级概述。

虽然 UIViewController 可以被认为代表单个 'screen',但 UINavigationController,顾名思义,用作能够导航多个 'screens' 的方法。

来自文档:

The UINavigationController class implements a specialized view controller that manages the navigation of hierarchical content. This navigation interface makes it possible to present your data efficiently and makes it easier for the user to navigate that content. You generally use this class as-is but in iOS 6 and later you may subclass to customize the class behavior.

请在此处查看 UINavigationController 文档的其余部分:https://developer.apple.com/library/ios/documentation/UIKit/Reference/UINavigationController_Class/index.html

请参阅 视图控制器目录中的 Navigation Controller 讨论。

最重要的是,导航控制器实际上一个视图控制器,但它恰好是一个在其他视图控制器之间呈现和导航的控制器。

好的,谢谢大家帮我找到一个明确的答案。

导航控制器由导航栏和工具栏组成,用于移入和移出导航中存在的视图控制器stack.Therefore导航控制器中可以有多个视图控制器。

在视图控制器中我们没有这个工具,它代表一个单一的屏幕视图。

如有错误请指正

只是我的两分钱:

一个 UIViewController 代表一个视图,您可以将按钮放在这个视图控制器中以连接到另一个 UIViewController。如果您想返回到第一个 UIViewController,您将不得不担心在第二个视图控制器中放置一个按钮会返回到第一个。如果您正在深入查看视图控制器,这可能会很乏味,必须记住让用户返回到以前的视图控制器。

UINavigationController 会为您完成很多繁琐的工作。如前所述,它包含一堆 UIViewController。它将在顶部创建一个导航栏,使您可以轻松返回视图控制器的层次结构。

简而言之,如果您有一个层次结构的视图控制器,您希望用户可以轻松导航,将您的 UIViewController 嵌入到 UINavigation 控制器中。

  1. UINavigation Controller 是 2 个或更多视图控制器的组合,它们通过 "Ios" 的 "segue" 功能连接。使用 Navigation Controller 的好处是我们可以使用每个屏幕上的默认 "Back" 按钮轻松地在不同屏幕之间导航。我们不需要提供任何单独的按钮来返回到上一个屏幕。 ViewController 提供一个屏幕,我们可以使用 "segue" 连接更多屏幕,但我们还必须设计一个 "Back" 按钮来导航到上一个屏幕。

  2. 我们应该使用 Navigation Controller ,以防在 iPhone 设置 -> 移动数据选项 -> 语音 ->4G 或 3G 中一个选项驻留在另一个 one.Like 中或2G。它是菜单的层次结构,所以这里的导航控制器比使用 UIController 是更好的选择。 我们应该将 UiController 与 "segue " 一起使用,以防万一 我们必须在 multiple.Like 中选择一个选项 - 照片 -> 有很多文件夹,其中任何一个被选中,即 Favorites 或 People 或 Places 。