iOS 简单基础知识点(2)-xib

Xib和storyboard对比

  • 共同点:
  • 都用来描述软件界面
  • 都用Interface Builder工具来编剧
  • 本质都是转化成代码去创建软件

  • 不同点

  • Xib是轻量级的,用来描述局部UI界面
  • storyboard是重量级的, 用来描述软件的多个界面,
    Storyboard是重量级的,用来描述整个软件的多个界面,并且能展示多个界面之间的跳转关系

Xib的加载方法

 方法1
NSArray *views = [[NSBundle mainBundle] loadNibNamed:@"xib类名" owner:nil options:nil]
 方法2
UINib *nib = [UINib nibWithNibName:@"xib文件名" bundle:nil];
NSArray *views = [nib instantiateWithOwner:nil options:nil];

注意点

  • 一个控件有2种创建方式
  • 通过代码创建
    初始化时一定会调用initWithFrame:方法

  • 通过xib\storyboard创建
    初始化时不会调用initWithFrame:方法,只会调用initWithCoder:方法初始化完毕后会调用awakeFromNib方法

  • 有时候希望在控件初始化时做一些初始化操作,比如添加子控件、设置基本属性这时需要根据控件的创建方式,来选择在initWithFrame:、initWithCoder:、awakeFromNib的哪个方法中操作

  • 类转字符串,通常我们通过xib创建一个自定义的类时,如果想用到这个类名:

-比如
NSArray *views = [[NSBundle mainBundle] loadNibNamed:@"xib类名" owner:nil] options:nil]
我们可以可以这样写:
- NSArray *views = [[NSBundle mainBundle] loadNibNamed: NSStringFromClass(self) owner:nil] 安全性高.

尽请期待进一步更新……谢谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值