UIStoryboard *sb = [UIStoryboard storyboardWithName:@"home" bundle:nil]; //加载sb默认的vc UIViewController *vc = [sb instantiateInitialViewController]; //加载sb中指定vc,须要指定vc在sb中的identifier UIViewController *vc = [sb instantiateViewControllerWithIdentifier:@"vcid"];
xib文件能够作vc(指定file's owner),或者作view(不指定file's owner)ide
//方法1 CustomViewController *vc = [[CustomViewController alloc] initWithNibName:@"xibname" bundle:nil]; //方法2 CustomViewController *vc1 = [[CustomViewController alloc] init];
方法1中的nibname位nil时,系统会去加载名为CustomView的xib,若是没有再去加载名为CustomViewController的xib,仍是没有就返回空。code
因此方法2内部就是调用了方法1nibname为nil的状况。ci
2.作viewit
//xib里面 须要先绑定view的类 HaXibView *view = [[NSBundle mainBundle] loadNibNamed:@"XibView" owner:nil options:nil].firstObject;
当xib里面有多个view时,能够指定index来肯定所须要的viewio
//xib里面 须要先绑定view的累 HaXibView *view = [[NSBundle mainBundle] loadNibNamed:@"XibView" owner:nil options:nil][1];