不同类型的导航控制器/视图/条

时间:2012-12-21 19:55:37

标签: ios

有人可以解释iOS中与导航相关的以下事项的不同之处。

以防万一,如果相关的话。我使用XCode 4.5和xibs。

1)如果我在Interface Builder中选择一个视图并选择“属性检查器”,则会有一个名为“Top Bar”的项目,我可以选择“导航栏”。

我做了一些实验。它显示在Interface Builder中,但看起来它不影响运行时的任何内容。我错过了什么

2)在Interface Builder中,我可以从Objects列表中拖放“Navigation Controller”并在其中添加一些View。

3)在Interface Builder中,我可以拖放“导航栏”并将其放在某个视图上

我不清楚项目#2和#3

之间有什么区别

2 个答案:

答案 0 :(得分:3)

1)您可以在模拟指标部分添加的内容只是为了帮助您在IB中进行布局,它实际上并没有添加它们。

2)& 3)导航控制器允许您在嵌入其中的视图控制器之间进行推送和弹出过渡。它负责更改导航栏中的标题和后退按钮中的文本。如果您的控制器未嵌入导航控制器,则无法执行push segue或使用pushViewController:animated:in code。导航栏只是一个UI元素,通常位于屏幕顶部,可以包含导航项。它本身并没有做任何事情。您必须编写负责标题和按钮文本的代码。向视图中添加导航栏不会使您可以进行推送,只需将其嵌入UINavigationController就可以执行此操作。

答案 1 :(得分:2)

让我通过一个简单的方法一起回答所有问题。只需使用StoryBoards,因为它们非常简单,可以更清楚地显示正在发生的事情。

您需要做的就是选择视图控制器(让我们说您的主视图控制器)并转到菜单然后编辑器>嵌入>导航控制器。这一切都有意义。