在自定義View的時候我們會遇到在一個xib文件中用到一個View,而這個View也是用xib文件定義的,接下來就說一下如何在.xib中加載其他的xib文件。
結(jié)構(gòu)大概是這樣(假設(shè)是在MainView中使用HeadView.xib):

結(jié)構(gòu)
首先在HeadView.h文件里添加view屬性:
@property (nonatomic, weak) IBOutlet UIView *view;
然后在HeadView.m文件中寫上加載xib文件的代碼:
- (instancetype)initWithCoder:(NSCoder *)aDecoder {
if (self = [super initWithCoder:aDecoder]) {
[self setup];
}
return self;
}
- (void)setup {
[[NSBundle mainBundle] loadNibNamed:@"HomeGasStationView" owner:self options:nil];
[self addSubview:self.view];
}
接下來把HeadView.xib的File's Owner改為HeadView(注意這里是File's Owner的Class不是View的Class):

把HeadView.xib的File's Owner改為HeadView
接著點擊File's Owner 按住control拖線到xib的View上面,選擇之前寫的view:

拖線選擇view
在MianView.xib添加一個view控件并設(shè)置它的Class為上邊準備好的HeadView:

屏幕快照 2016-04-24 下午11.38.10.png
此時便大功告成啦,運行成功。