Iphone 从IB加载视图

Iphone 从IB加载视图,iphone,uiview,interface-builder,nib,Iphone,Uiview,Interface Builder,Nib,这应该是一个非常简单的解决方案,但我还没有从阅读苹果文档或其他问题中弄明白如何从以编程方式创建界面转换到使用Interface Builder 我的代码基于以下框架: 唯一的区别是,如果每个视图都是在ViewDidLoad中以编程方式创建的View01.m、View02.m,那么我希望从nib导入,同时仍然为每个视图使用此框架。每个视图都有一个独特的IB设计 感谢您的帮助。将IB视为对象创建者,而不是代码生成器。这真的很有帮助。IB实际上是在将对象拖到desktop/view/XIB窗口时创建

这应该是一个非常简单的解决方案,但我还没有从阅读苹果文档或其他问题中弄明白如何从以编程方式创建界面转换到使用Interface Builder

我的代码基于以下框架:

唯一的区别是,如果每个视图都是在ViewDidLoad中以编程方式创建的View01.m、View02.m,那么我希望从nib导入,同时仍然为每个视图使用此框架。每个视图都有一个独特的IB设计


感谢您的帮助。

将IB视为对象创建者,而不是代码生成器。这真的很有帮助。IB实际上是在将对象拖到desktop/view/XIB窗口时创建对象的实例。然后,它允许您通过鼠标上的控制按钮从一个对象拖动到另一个对象,开始创建各种连接。然后,通过从包中取消归档来实例化整个XIB。这是高度自动化的,在UIViewController上读取应该会使您前进一点。看看:

initWithNibName:bundle:
基本上有两种类型的连接:

出口:这就是你教一个物体另一个物体存在的方式。例如,您可能有一个需要访问按钮的控制器对象。您可以在controller.h文件/属性区域的XCode Text Edit中或在IB中创建一个出口,方法是在控制器中添加一个出口,然后控制从出口拖动到按钮

操作:这是如何触发一个对象上的事件以调用另一个对象上的方法。行动将有一个原型:

 - (IBAction) someMethod:(id) sender;
我认为:id发送器是可选的,如果您的方法不需要指向导致事件的对象的链接

在IB中,您可以排列对象并设置各种属性,如大小、颜色、位置、目标/动作、用户交互、文件所有者

这让我想到了文件所有者。这里有个大概念。它往往是加载NIB的控制器OK:我有一个定制的窗口控制器,我已经用了15年了,但苹果有一个非常好的UIViewController,它做了各种各样的好事。并在IB中充当代理。它实际上没有在IB中实例化,但当您分配并请求它加载NIB XIB文件时,它将是XML文件,通过编译过程转换为NIB文件