从界面构建器中的nib文件加载子视图

时间:2011-05-12 17:21:08

标签: iphone ios ipad interface-builder

我有一个自定义工具栏视图,我将其存储在自己的nib文件中。我想在其他笔尖中使用该工具栏。是否可以在主nib文件中将某种视图作为子视图,并将工具栏nib加载到其中?最好是在界面构建器中。

由于

2 个答案:

答案 0 :(得分:3)

自定义工具栏是否存在于单独的nib文件中?如果是,那么您可以随时使用

独立加载它
NSArray *arr = [[NSBundle mainBundle] loadNibnamed:@"customToolBarNibName" owner:... options:...];

UIView *rootView = [arr objectAtIndex: 0];

答案 1 :(得分:2)

听起来你的nib文件中只有一个视图,并且你希望能够在应用程序的不同位置加载该视图的实例。

这是什么:

首先,在nib文件中,将File的Owner类更改为UIViewController,并将自定义视图设置为文件所有者的view属性。

然后,在要使用自定义视图实例的视图控制器中,执行以下操作:

UIViewController *vc = [[UIViewController alloc] initWithNibName:@"YourCustomNib" bundle:nil];
UIView *yourCustomView = vc.view;
[vc release];

我知道这看起来有点像hacky,但最后我听说这实际上是从笔尖加载单个视图的“正确”方法之一。当我在笔尖中有自定义的tableview单元格时,我使用这种方法。