有时候敲代码敲烦了,或者某部分的UI非常复杂,用代码会耗费太多时间,这时我们通常就考虑使用xib来实现了,特别是一些独立的UI控件组合(通常会用UIView作为底层容器)。
一、UIView与Xib关联
事实上我们通过Add---New Files--Cocoa Touch来创建一个UIView时,默认是不能选择xib的
下面我们来说一说如何为UIView来加一个xib文件
1.Add---New Files--Cocoa Touch创建一个类SelfView继承自UIView
2.Add--New Files--User Interface--EmptyXIB创建一个空的SelfView.xib文件,记住,XIB的名称一定要跟签名的类(也就是要添加xib的类)的名称一致,也就是一模一样。
注意:一定要选 EmptyXIB类型,如果不是选的这个,可能会出现一些问题,例如创建的XIB里面的已经存在的那个UIView将不能调整高度,它的高度固定死了。
3.因为是空的XIB文件,所以往文件框中拖入一个UIView的控件,然后将这个UIView的类名在属性器里面从UIView改为SelfView
二、控件拖好之后,如何调用
1.在使用SelfView的类中这样调用
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"xib的名字" owner:self options:nil];
SelfView *View = [nib objectAtIndex:0];
平时经常用到的TableView的Cell的自定义也是这样调用的,但是不用自己去建立cell和xib的联系
注意:在使用View的时候,如果没有哪个操作具有retain的功能,最好显示地把View retain一次,如果有addObject,addSubview之类的操作则不用。反正记住一点,这个View不是用alloc、copy等创建的,是个自动释放的对象,要特意保留一下它,要不然在以后用到的时候会出错。