视图和视图控制器如何挂钩?

时间:2013-07-12 13:23:14

标签: ios objective-c

我找不到视图和viewcontroller被挂钩的位置?它在xib文件中吗?

我了解到每个视图控制器都可以控制多个视图,但这两个视图在哪里被吸引?

3 个答案:

答案 0 :(得分:0)

如果你有这样的疑问,我建议你阅读整个ViewController编程指南:

ViewController Programming Guide

如果您想直接查看问题,请查看此部分:

Resource Managment in ViewControllers

你可以找到一个很好的图表来解释在ViewController中创建和链接视图的位置:

enter image description here

答案 1 :(得分:0)

ViewController只是一个用来管理它包含的UIViews(会有很多)的类。主视图会自动连接到您,您负责连接您添加的所有其他视图。请注意,UIButtonsUILabelsUIViews等都是从UIView继承的对象。

就像Antonio指出的那样,从Apple docs开始:

答案 2 :(得分:0)

视图控制器有自己的视图。每个子视图(子视图)视图都有一个父视图(superview)。您可以在视图中嵌套视图。在您的情况下,层次结构中的顶视图是视图控制器的视图。

在设计时,只需将新视图拖到父视图上,即可将子视图添加到Interface Builder中的任何视图。您还可以从Interface Builder中的文档大纲调整视图层次结构。

在Interface Builder中创建视图层次结构时,视图层次结构存储在 .xib 文件中。

在运行时,您的视图将根据 .xib文件中的信息进行实例化,并且每个子视图的superview属性都指向其父视图。每个视图还有一个subviews属性,列出了每个子视图。

您可以通过实例化新视图并将其传递给父视图的addSubview方法,在运行时将视图添加到任何其他视图。显然,一旦实例化,您可以通过设置superviewsubviews属性并调用相关方法来更改视图层次结构。