几种创建视图控制器view的方式

创建View的方式有好几种,下面一一列举一下(在这里,特别感谢李南江老师)

1.没有同名xib的情况下

2.通过storyboard创建
3.有指定xib情况下创建
4.有同名xib情况
5.有同名去掉controll的情况
6.loadview
//1.第一种方式:没有xib和storyboard 

// 如果没有xib和storyboard,会自动创建一个空白的view做为控制器的view

NJViewController *vc = [NJViewController alloc]init];


//2.通过storyboard创建

//如果通过storyboard创建,会创建箭头指向的view做为视图控制器的view

UIStoryboard *storyboard = [UIStoryboard storyboard WithName:@"Test" bundle:nil];

NJViewController *vc = []storyboard instantiateInitialViewController];


//3.有指定xib情况下创建

//通过xib创建,会创建xib中描述的view做为视图控制器的view

NJViewController *vc = [NJViewController alloc]initWithNibName:@"one" bundle:nil

];


//4.有同名xib情况下

//如果有同名的xib,会自动找到同名xib中描述的view做为视图控制器的view

NJViewController *vc =  [NJViewController alloc]init];


//5.如果有有同名去掉Controller 的xib

//如果有有同名去掉Controller 的xib,会自动找到同名xib中描述的view做为视图控制器的view

//NJViewController *vc =  [NJViewController alloc]init];


//6.重写控制器的Loadview方法

//如果重写了控制器的Loadview方法,就不会去加载创建同名去掉Controller的xib和同名的xib,而是创建一个空白的view做为控制器的view


NJControllerView *vc = [NJViewController alloc ]init];



最后还不要忘了

self.window.setrootcontroller  = vc;

[self.window makekeyandvisible];



补充一点,添加控制器到导航控制器中得方法:

//1.创建导航控制器

NJNavgationController *nav = [UINavgationController alloc]init];

//设置导航控制器为window的根控制器

self.window.rootViewController  = nav;


创建导航控制器的子控制器有下面几种方式:

//1.通过pushviewcontroller 方法

NJOneviewcontroller *one = [NJOneviewcontroller alloc]init];

[nav pushviewcontroller :one animated:yes];


//2.通过addchildviewcontroller方法

[nav addchildviewcontroller :one ];


//3第三种 导航控制器的栈  nav.viewcontrollers == nav.childviewcontrollers;

[nav viewcontrollers] = @[one];  直接给这个代表导航控制器栈的数组赋值

注意这里不能使用nav childviewcontrollers  因为childviewcontrollers是readonly  也就是只读得

//4.第4种  在nav初始化的时候就指定

UINavgationcontroller *nav = [UINavgation alloc]initwithrootviewcontroler:one];

这样运行出来的效果是一样的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值