如何在UIView上显示XIB / NIB文件?我已经搜索过但我没有找到这个。我想在主视图上显示xib界面,我有五个xib文件,我需要每个一个人在UIView上显示!有些人谈到了这段代码,但我实现了这个:
NSArray *screens=[[NSBundle mainBundle] loadNibNamed:@"JaneiroClass" owner:self options:nil];
[self addSubview:[screens objectAtIndex:0]];
答案 0 :(得分:2)
这将从XIB加载视图。 UINib也会缓存,因此您可以快速删除它们。
UINib *nib = [UINib nibWithNibName:@"TestView" bundle:nil];
UIView *myView = [[nib instantiateWithOwner:self options:nil] objectAtIndex:0]];
instantiateWithOwner返回XIB中顶级对象的数组。在上面的例子中,只有一个视图(包含库中的其他对象)所以我们检索了objectAtIndex:0。
获得视图后,您可以将其添加到其他视图中。例如,您可以在另一个传递此视图的视图上调用addSubView:
[someView addSubView:myView];
答案 1 :(得分:1)
我发布了一篇关于在我的博客http://effectivemobility.blogspot.com/2011/05/using-custom-cells-in-your-uitableview.html
中从笔尖加载自定义视图的文章关键部分是这个方法
+ (id)customViewForClass:(Class)customClass {
NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:NSStringFromClass(customClass) owner:nil options:nil];
for ( id currentObject in topLevelObjects ) {
if ( [currentObject isKindOfClass:customClass] ) {
return currentObject;
}
}
return nil;
}