xib和storyboard的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xib和storyboard的区别相关的知识,希望对你有一定的参考价值。

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

以上是关于xib和storyboard的区别的主要内容,如果未能解决你的问题,请参考以下文章

Swift 3 - 如何在 .xib 文件上为 UIScrollView 分配委托?

如何使用storyboard和xib

iOS开发中xib和Storyboard中需要注意的事项

在同一个项目中使用 xib 和 storyboard

在 Nativescript iOS 应用上使用 XIB 和 Storyboard

删除 Storyboard 以使用 XIB 文件