加载或者跳转视图控制器的四种方式

1.xib文件

    TestViewController *nextViewController=[[TestViewControlleralloc]initWithNibName:@"TestViewController"bundle:nil];//通过xib文件加载视图控制器

    [selfpresentViewController:nextViewControlleranimated:YEScompletion:nil];

2.Storyboard 文件

    UIStoryboard *vcStoryboard=[UIStoryboardstoryboardWithName:@"TestViewController"bundle:nil];

    TestViewController *nextViewController=[vcStoryboardinstantiateInitialViewController];//通过Storyboard文件加载视图控制器

    [self presentViewController:nextViewController animated:YES completion:nil];

3.自定义(在没有xib和Storyboard 文件的前提下)

    CustomViewController *thirdViewController=[[CustomViewControlleralloc]init];

    [self presentViewController:thirdViewControlleranimated:YEScompletion:nil];

    注意:此时一定要记得给图控制器添加view视图对象,方法就是CustomViewController类的loadView方法中创建一个view视图对象,创建的方法有两种:

a.自定义添加

  self.view=[[UIViewalloc]init];//自定义视图,记得给视图对象的属性赋初始值,尤其是背景颜色,不然会看见黑屏的,那是window的颜色

  self.view.backgroundColor=[UIColorwhiteColor];

b.系统自动添加(重写loadView方法)

    [super loadView];//系统会自动创建一个view对象,同样记得给视图对象的属性赋初始值

    self.view.backgroundColor=[UIColorwhiteColor];


ps:假如不重写loadView方法,系统也会自动调用该方法给视图控制器添加一个view对象


除此之外,通过UIWindow也可以加载视图控制器

    self.window=[[UIWindowalloc]initWithFrame:[UIScreenmainScreen].bounds];

    CustomViewController *vc=[[CustomViewControlleralloc]init];

    self.window.rootViewController=vc;

    self.window.backgroundColor=[UIColorwhiteColor];

    [self.windowmakeKeyAndVisible];//通过UIWindow也可以加载视图控制器


4.通过Main.Storyboard连线(本质也是xib文件,只是不用手动,系统会自动加载)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值