有一些类似的帖子,但我已经搜索了很多答案,但不幸的是我没有找到它。
我想要的: 我正在使用xib文件创建一个视图。让我们说它的类是BaseView。在这个baseView中我有一个自定义子视图,例如它的类是InsideView。
当我的baseView从nib中唤醒时,insideView会自动从它的xib文件创建自己吗?
我想要这种行为,因为我会在其他多个视图中重用这个“insideView”,只需更改baseView组件。
感谢您的帮助和指导!!
修改
更清楚我想创建一个这样的视图:
topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"SDBaseView" owner:nil options:nil];
for(id currentObject in topLevelObjects){
if([currentObject isKindOfClass:[SDBaseView class]]) {
self.headerView = currentObject;
break;
}
}
并且在将它分配给headerView之后,我应该已经加载了一个带有它的属性的BaseView,还加载了带有它的属性的insideView。 所以我可以这样做:
self.headerView.someBaseClassProperty = @"Test";
但也
self.headerView.isnideView.someInsideViewClassProperty = @"Inside Test";
答案 0 :(得分:2)
请看这篇博文:Embedding custom-view Nibs in another Nib: Towards the holy grail
这很容易实现。
修改强>
我不再推荐这个了。使用新的XCode和IBDesignable,使用NIB创建自定义类非常容易