xib加载

  • 由于xib也是作为资源存在于mainBundle中,所以可以使用mainBundle加载,由于xib可能存在多个view,所以取数组中的一个
  NSArray *views = [[NSBundle mainBundle] loadNibNamed:@"xib文件名"
                                                 owner:nil 
                                               options:nil];

  • 使用nib加载,xib文件最终会生成nib
    //加载nib文件
    UINib *nib = [UINib nibWithNibName:@"xib文件名" bundle:nil];
    //取出nib中的多个描述的视图
    NSArray *views = [nib instantiateWithOwner:nil options:nil];
  • 以上在bundle为空时默认是mainBundle,但是在某些比较复杂的工程中不可以,比如工程嵌套工程那种,因为会有多个bundle,一般这样去创建bundle:
//当前类所在的bundle
 [NSBundle bundleForClass:self];

你可能感兴趣的:(xib加载)