1.xib的通常的使用步骤
1.1 新建1个类,用来描述这个xib (假定继承自UIView,且类名是DIYView)
1.2 新建1个xib,文件名也是DIYView,往里面拖一个UIView,设置UIView的属性-Class为DIYView
1.3 往xib里拖1个长按的手势识别,鼠标右键刚刚拖进来的UIView,gesture Recognizer和刚才拖进来的长按手势识别做连线
1.4 DIYView.h 提供一个方法类方法: + (instancetype)diyView;
DIYView.m 实现diyView:
+ (instancetype)diyView
{
return [[[NSBundle mainBundle] loadNibNamed:@"DIYView" owner:nil options:nil] lastObject];
}
1.5 在控制器中,新增这个用xib定义的view
DIYView *diy = [DIYView diyView];
[self.view addsubView:diy];
1.6 最后运行程序,程序崩溃
1.7 分析报错原因:
[DIYView diyView] 返回的是手势,不是预期的uiview.因为最后添加的是长按手势.
1.8 总结:
使用xib时需要注意lastObject或者firstObject返回的到底是什么
1.9 规避方法
可以通过打印数组看看数组中元素的排列顺序
NSArray *array = [[NSBundle mainBundle] loadNibNamed:@"DIYView" owner:nil options:nil]
NSLog(@"%@",array);
时间: 2024-10-20 00:40:29