xib和storyboard的区别
storyboard:
- 重量级
- 用来描述整个App的多个软件
- User Interface -> Storyboard
xib:
- 轻量级
- 用来描述一个界面,通常是自定义控件
- User Interface -> Empty
- 打包之后叫nib
- 使用时没有设置尺寸,默认为xib描述的尺寸
- 加载xib的方式:
- 常用: UIView * nibView = [[[NSBundle mainBundle] loadNibNamed:@"nibName" owner:nil options:nil firstObject];
- 不常用: UIView * nibView = [[[UINib nibWithNibName:@"nibName" bundle:[NSBundle mainBundle]] instantiateWithOwner:nil options:nil] lastObject];
- 使用注意点:
- 不能通过init方法创建
- 提供一个快速创建的方法
- 不会执行init和initWithFrame方法
- 会执行-(instancetype)initWithCoder:(NSCoder *)aDecoder和-(void)awakeFromNib