使用xib封装一个自定义view

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


1.新建一个继承自UIview的自定义view.(也就是新建一个继承UIview的类,用来控制Xib的)
--> 假设名字为MyView

2.新建一个.xib的文件,来描述其内部组成结构(第一步创建的类名,最好与xib的名称一样)
--> MyView.xib

3.修改UIView的类型为MyView的类型

4.将MyView.xib内部的子控件跟MyView类进行连线(MyView.xib的对象化)

5.MyView提供一个模型属性(作用是用来接收传入的数据)

6.重写模型属性的set方法 , 在内部设置数据, 因为在set方法中可以拿到外界传递的模型数据 (封装)

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

8.提供类方法 , 把创建View的方法封装到MyView中


xib加载过程

xib不会主动加载.必须主动加载
NSBundle *bundle = [NSBubdle mainBundle];
//会从xib中创建描述的对象,并按顺序返回到数组中.所以返回是 NSArray数组
[bundle loadNibNamed:@"这里写xib的名字" owner:nil option:nil];


加载步骤

1. 首先检测xib里面View的真实类型,并创建一个View的对象

2. 然后检测View中所有的属性,并且加载(Frame,Tag等)

3. 然后再检测子类的控件.然后一个一个创建

4. 然后创建UISwitch

5. 然后创建UISegmented Contro;

6. 以一个数组的形式返回return @[view,Switch , Segmented Contro]

猜你喜欢

转载自cwlong.iteye.com/blog/2227603