iOS:在xib文件中使用另外一个xib文件

在自定义View的时候我们会遇到在一个xib文件中用到一个View,而这个View也是用xib文件定义的,接下来就说一下如何在.xib中加载其他的xib文件。
结构大概是这样(假设是在MainView中使用HeadView.xib):

iOS:在xib文件中使用另外一个xib文件_第1张图片
结构

首先在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):

iOS:在xib文件中使用另外一个xib文件_第2张图片
把HeadView.xib的File's Owner改为HeadView

接着点击File's Owner 按住control拖线到xib的View上面,选择之前写的view:

iOS:在xib文件中使用另外一个xib文件_第3张图片
拖线选择view

在MianView.xib添加一个view控件并设置它的Class为上边准备好的HeadView:

iOS:在xib文件中使用另外一个xib文件_第4张图片
屏幕快照 2016-04-24 下午11.38.10.png

此时便大功告成啦,运行成功。

你可能感兴趣的:(iOS:在xib文件中使用另外一个xib文件)