iOS--xib的加载过程

第一步:根据路径,搜索对应的xib文件(在根目录会生成加密的nib文件)。

第二步:系统加载创建xib中的每个对象时,会根据所属类进行创建,然后根据自定义设置的属性进行赋值,并把该控件加载到父视图中。

第三步:系统按照第二步的顺序加载完xib内的每个控件,返回一个数组类型对象。

获取xib代码如下:

   
    //第一种方式
    //xib的文件名
    NSString *xib = @"AppView";
    //根据文件名查找,返回一个数组(因为一个xib内可以创建多个UIView或子类控件)    
    NSArray *viewArray = [[NSBundle mainBundle] loadNibNamed:xib owner:nil options:nil];
    //根据需要取到数组内的view,如果只有一个View,取firstObject或者lastObject。
    UIView *view = [viewArray firstObject];


    //第二种方式
    //xib的文件名
    NSString *xib = @"AppView";
    UINib *nib = [UINib nibWithNibName:xib bundle:[NSBundle mainBundle]];
    XXView *xxview = [[nib instantiateWithOwner:self options:nil] firstObject];

关联的xib的类,需要重写一些init方法:

return [[NSBundle mainBundle] loadNibNamed:@"AnswerButton" owner:nil options:nil].firstObject;

猜你喜欢

转载自blog.csdn.net/JustinZYP/article/details/124253869