XIB的一些方法

加载XIB

  • 方式一
//loadNibNamed返回的是一个数组,取第一个元素
 UIView *carView = [[[NSBundle mainBundle] loadNibNamed:@"CarView" owner:nil options:nil] firstObject];
  • 方式二
UINib *nib = [UINib nibWithNibName:@"CarView" bundle:nil];
//[nib instantiateWithOwner:nil options:nil]返回的是一个数组,取第一个元素
UIView *carView = [[nib instantiateWithOwner:nil options:nil] firstObject];

如果View从xib中加载,就不会调用init和initWithFrame:方法。这时候要调用initWithCoder:方法,但此时是处于未唤醒状态

- (instancetype)initWithCoder:(NSCoder *)aDecoder{
    if (self = [super initWithCoder:aDecoder]) {
      .......
    }
    return self;
}

从xib中唤醒

//重写awakeFromNib
- (void)awakeFromNib{

}

设置加载XIB的快速构建方法

快速构造方法
+ (instancetype)shopInit{
    return [[[NSBundle mainBundle] loadNibNamed:@"XMGShopView" owner:nil options:nil] firstObject];
}

results matching ""

    No results matching ""