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];
}