- 方法1(常用)
NSArray *views = [[NSBundle mainBundle] loadNibNamed:@"xib文件名" owner:nil options:nil];
- 方法2(不常用)
UINib *nib = [UINib nibWithNibNmae:@"xib文件名" bundle:nil];
NSArray *views = [nib instantiateWithOwner:nil options:nil];
- 提供快速構造方法
+ (instancetype)shopView;
#pragma mark - 快速構造方法
+ (instancetype)shopView {
return [[[NSBundle mainBundle] loadNibNamed:NSStringFromClass(self) owner:nil options:nil] firstObject];
// return [[[NSBundle mainBundle] loadNibNamed:@"SJMShopView" owner:nil options:nil] firstObject];
}
- 如果View從xib中加載,就會調用initWithCoder:方法
// 創建子控件...
注意:如果子控件是從xib中創建,是處于未喚醒狀態
- (instancetype)initWithCoder:(NSCoder *)aDecoder {
if (self = [super initWithCoder:aDecoder]) {
NSLog(@"%s", __func__);
UILabel;
}
return self;
}
// 從xib中喚醒
// 添加 xib中創建的子控件 的子控件
- (void)awakeFromNib {
// 在子控件身上做一些事情
}
#pragma mark - 布局子控件
- (void)layoutSubviews {
[super layoutSubviews];
self.label.frame = self.bounds;
}
-
xib使用注意事項:
屏幕快照 2016-07-29 下午10.51.06.png