如何将视图控制器的视图连接到另一个xib文件?

时间:2009-12-15 20:33:39

标签: iphone xcode interface-builder

我制作了一个基于视图的全新app项目,它有一个MyProjectViewController.xib。然后我用一个acomanying XIB文件创建了AnotherViewController类。我在IB中打开MyProjectViewController.xib并将“View Controller”对象放入我的窗口。但现在我想用MyProjectViewController.xib的视图挂钩视图控制器的视图。我认为在IB中无法做到这一点。我必须以编程方式执行此操作吗?

问题是,AnotherViewController将使用XIB创建吗?我想我必须以某种方式把它搞定,否则就会“迷失在太空中”。希望你知道我的意思......

1 个答案:

答案 0 :(得分:2)

您可以创建一个UIView派生类(.h和.m),在Xcode中将其命名为AnotherView,然后创建一个视图XIB(也在Xcode中)。在IB中打开XIB并将视图的类标识更改为UIView派生类AnotherView的名称。根据您的心灵内容自定义IB中的UIView,然后在视图控制器中将其作为子视图加载,如下所示:

NSArray *array = [[NSBundle mainBundle] loadNibNamed:@"AnotherView" 
                                               owner:self options:nil];

// Will need to #import "AnotherView.h" for this to work
AnotherView *view = (AnotherView*)[array objectAtIndex:0];
// Size the view to whatever you need it to be
[view setFrame:viewRect];
// Add it to the view hierarchy of the view controller's view.
[[self view] addSubview:view];

如果您需要任何澄清,请告诉我。