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

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

结构

首先在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控件并设置它的Class为上边准备好的HeadView:

屏幕快照 2016-04-24 下午11.38.10.png

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容