xib
1. xib是什么?
- xib一般用于封装的独立控件
- 在纯代码实现封装里-懒加载,xib相当于实现了控件的添加与frame的设置这两步
- 所以将上述工程改为xib,将不用修改控制器里的作何内容,这就是封装的好处。
2. xib注意点
- xib的命名与控件同名(就当一种约定)
- xib的加载有两种方式
- 第一种
-(instancetype)init{
if (self=[super init]) {
HYLShopView *shopView=[[[NSBundle mainBundle]loadNibNamed:NSStringFromClass([self class]) owner:nil options:nil] firstObject];
self=shopView;
}
return self;
}
*第二种
UINib *nib=[UINib nibWithNibName:@"HYLShopView" bundle:[NSBundle mainBundle]];
// 当NSBoundle为参数时nil等价从主资源库获取
// UINib *nib=[UINib nibWithNibName:@"HYLShopView" bundle:nil];
NSArray *objs=[nib instantiateWithOwner:nil options:nil];