如何从NIB加载UIView?

问题描述:

我一直使用UIViewController s和initWithNibName取得了很大的成功,基本上使用它们作为使用Interface Builder设计视图的便捷方式。不幸的是我已经建立视图的层次注意到这条线的UIViewController文档中前:如何从NIB加载UIView?

注:你不应该使用视图 控制器来管理意见,填补 只有自己窗口的一部分

我的问题是这样的:有一个非常简单的NIB,除了默认的First Responder和Owning Object之外,只有UIView,将UIView加载到我的代码中的最简单方法是什么?

我还没有能够得到loadNibNamed:owner:options:在这一点上工作,但怀疑答案会涉及它在某种程度上。

是的,只需拨打

[[NSBundle mainBundle] loadNibNamed:@"viewNib" owner:self options:nil]; 

你通常做这从您已设置为文件的所有者的NIB的视图控制器。这样,您可以在视图控制器中为视图声明一个插座,当您加载NIB文件时它将自动连接。在这种情况下,您甚至不必使用方法的返回值。

+0

谢谢,我错过了'mainBundle'部分 – Winder 2010-04-16 00:53:53

+1

嗨,一个简单的问题:这种方法处理的情况下有一个CustomView类吗?如果文件的所有者是视图控制器,从哪个视图初始化视图,我如何实际将钩子中的所有元素(例如MyLabel)钩到CustomView类的IBOutlets? – aneuryzm 2011-06-23 08:32:53

+0

只需在IB中查看您的自定义班级,然后连接插座即可。没有什么区别,你会永远做什么。 – 2011-06-23 08:50:46