Xib文件的使用

    Xib和storyboard都可以用来描述软件界面,都用Interface Builder工具来编辑.

    两者的不同点:

    1> Xib是轻量级的,用来描述局部的UI界面;

    2> Storyboard是重量级的,用来描述整个软件的多个界面,并且能展示多个界面之间的跳转关系.    

Xib文件的加载:

    方法一:

NSArray *objs =[[NSBundle mainBundle] loadNibNamed:@"JNAppView"owner:nil options:nil];

     这个方法会创建Xib中得所有对象,并且将对象按顺序放到objs数组中;

    方法二(不常用):

UINib *nib = [UINib nibWithNibName:@"JNAppView" bundle:[NSBundle mainBundle]];
NSArray *objs =[nib instantiateWithOwner:nil options:nil];

    bundle的参数可以为nil,默认就是main bundle

注意:NSBundle

    1> 一个NSBundle代表一个文件夹,利用NSBundle能访问对应的文件夹

    2> 利用mainBundle就可以访问软件资源包中的任何资源

    3> 模拟器应用程序的安装路径:

    /Users/aplle/资源库/Application Support/iPhone Simulator/7.1/Applications

     •在开发阶段,面向开发者的是xib文件; 当把应用装到手机上时,xib文件就会转为nib文件 •

使用xib封装一个自定义view的步骤:

    1> 新建一个继承UIView的自定义view,假设类名叫做(JNAppView)

    2> 新建一个JNAppView.xib文件来描述JNAppView内部的结构

    3> 修改UIView的类型为JNAppView真是类型

    4> 将内部的子控件跟JNAppView进行属性连线

    5> JNAppView提供一个模型属性

    6> 重写模型属性的set方法,因为在set方法中可以拿到外界传递的模型数据

    7> 把模型数据拆开,分别设置数据到对应的子控件中

    8> 补充:提供一个创建JNAppView的类方法,将读取xib文件的代码屏蔽起来



你可能感兴趣的:(xib,nsbundle)