码迷,mamicode.com
首页 > 其他好文 > 详细

Xib 和 storyboard 对比

时间:2015-11-12 18:09:02      阅读:310      评论:0      收藏:0      [点我收藏+]

标签:

Xib 和 storyboard 对比:

共同点:

* 都是用来描述软件界面

* 都用 Interface Builder工具来编译

* 本质都是转换成代码去创建控件

不同点:

* xib是轻量级的,用来描述局部的UI界面

*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];

使用xib自定义View的步骤:

* 封装xib的加载过程

@interface ****View :UIView
+ (instancetype)**View;
@end

@implementation ****View
+(instancetype)**View
{
   return [[[ NSBundle mainBundle] loadNibNamed:@"****View" owner:nil options:nil]   lastObject];
}
@end

 注意点

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

 

*通过xib\storyboard创建
  -初始化时不会调用initWithFrame:方法,只会调用initWithCoder:方法
  -初始化完毕后会调用awakeFromNib方法
*有时候希望在控件初始化时做一些初始化操作,比如添加子控件、设置基本属性
   这时需要根据控件的创建方式,来选择在initWithFrame:、initWithCoder:、awakeFromNib的哪个方法中操作
 

Xib 和 storyboard 对比

标签:

原文地址:http://www.cnblogs.com/xingdianjun/p/4959350.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!