xib中嵌套使用xib

作者: jonaschen | 来源:发表于2016-07-18 02:28 被阅读920次

在xib中嵌套使用xib,如果使用不正确会导致子xib最后加载不出来(具体原因可以查看第一篇参考文章)。可行的方法如下:

  1. 新建工程,创建test.xib,设置个颜色,拖个label进去。

  2. 创建test类。

  3. 选中test.xib中 file's owner,然后在它的Inspector (cmd + opt + 3) 中设置它的Custom Class为test。

  4. 在test.m中重写- (instancetype)initWithCoder:(NSCoder *)aDecoder方法:


- (instancetype)initWithCoder:(NSCoder *)aDecoder

{

    self = [super initWithCoder:aDecoder];

    if (self) {

        UIView *containerView = [[[UINib nibWithNibName:NSStringFromClass([self class]) bundle:nil] instantiateWithOwner:self options:nil] firstObject ];

        containerView.frame = self.bounds;

        [self addSubview:containerView];

    }

    return self;

}

5.在父xib(storyboard就行)中拖一个View,在该View的Inspector中设置它的Custom Class为test。

6.运行看看效果。

7.如果想要控制test.xib中的label的话,只需要将test.xib中的label与test类中的@property (weak, nonatomic) IBOutlet UILabel *label;关联即可。

需要注意的点:

加载containerView时需要使用[UINib nibWithNibName:NSStringFromClass([self class]) bundle:nil] instantiateWithOwner:self options:nil],而不要使用[[[NSBundle mainBundle] loadNibNamed:NSStringFromClass([self class]) owner:nil options:nil] firstObject],否则当你将test.xib中的label与test类中的label属性关联后运行程序时会发生崩溃,具体原因不详。。。如果有人晓得的话可以告诉我。。。

参考文章:

相关文章

  • xib中嵌套使用xib

    在xib中嵌套使用xib,如果使用不正确会导致子xib最后加载不出来(具体原因可以查看第一篇参考文章)。可行的方法...

  • xib中嵌套使用xib

    在xib中嵌套使用xib,如果使用不正确会导致子xib最后加载不出来(具体原因可以查看第一篇参考文章)。可行的方法...

  • xib嵌套xib

    xib定制类嵌套在另一个xib中的方法 我不是一个经常使用xib的人,总感觉xib所见即得,非常简单,昨天同事在写...

  • xib 原理、嵌套、可视化、继承

    xib嵌套 封装了一个view,它自带有xib。想让它能在其他xib、SB中使用 1.绑定xib的File Own...

  • xib嵌套xib

    近期迭代版本 有一个小需求 然后就想着用xib来写 然后就踩进了这个小坑因为嵌套的视图层有很多 所以需要UIVie...

  • Swift 在Xib中嵌套使用Xib文件

    一、前言 由于公司的iMac之前一直使用的是机械硬盘,所以在使用Xib的时候会导致电脑卡的飞起,所以一直以来都是纯...

  • xib问题宽度问题

    用xib定制的UITableViewCell中嵌套UICollectionView时,collectionview...

  • swift storyboard中使用xib定义的view

    一. 需要在xib或者storyboard中嵌套使用 1. 例如定义AView,新建AView.swift、AVi...

  • 22.Storyboard中使用xib,xib中使用xib并实现

    storyboard中能够插入xib定义的view,并能够预览,xib中插入xib使用方法和storyboard是...

  • IOS中关于Xib的使用

    ios中关于Xib使用 xib和Storyboard的区别xib是轻量级,用来描述局部UI界面Storyboard...

网友评论

    本文标题:xib中嵌套使用xib

    本文链接:https://www.haomeiwen.com/subject/rrspjttx.html