iOS开发中,为了快速开发节约时间,经常会使用xib。但是普通view和headerView等系统并未提供 关联的xib。此时需要我们自定义xib,并且与相关文件进行关联。
1、创建.h及.m文件。
注:如果是headerView,则h文件要继承UITableViewHeaderFooterView
2、复制上面的文件名,用来创建一个空的View。
3、进行关联。
3.1先关联File’s Owner
3.2 再关联view
**
4、特别注意项:
**
当关联完成后,我们可以在view视图中添加控件,并且与.h文件进行连线了,但是,当运行程序时,经常会出现**崩溃 **。这里需要特别注意,如图:
4.1 去掉File’s Owner 中的连线。
4.2关联View中的控件
续:
假如xib中有button,需要对点击事件进行连线时,需要注意和上面相同的问题,否则会引起崩溃。
1、无论是用快捷键连线或者用鼠标右键点击touch up inside 进行连线,都会出现下面的图。此时应该将obect 中的File’s Owner 当前view。
2、如果不小心直接连线,则需要在File’s Owner 中将Received Actions中的连线去掉。然后再进行步骤1的操作。
到此,关联自定义XIB完成,运行程序,也不会出现崩溃现象。
补充:控制器加载自定义的xib方式。如:
-(ReportCostFooterView *)footerView {
if (!_footerView) {
CGRect frame = CGRectMake(0, self.view.height - 50, self.view.width, 50);
NSArray * nibViews = [[NSBundle mainBundle] loadNibNamed:NSStringFromClass([ReportCostFooterView class]) owner:self options:nil];
_footerView = [nibViews objectAtIndex:0];
_footerView.frame = frame;
}
return _footerView;
}
需要使用loadNib的方式进行加载,如果使用alloc init 方式,加载不出来。