ios开发系列之页面跳转

UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow.
下面说下两个视图控制器之间的跳转,不包括使用导航控制器和模态的方法

在xib的情况下的页面跳转

//通过单例类UIApplication的实例对象的keyWindow来获得window
UIWindow * window = [UIApplication sharedApplication].keyWindow
//初始化即将跳转的视图控制器
MainViewController * mainVC = [[MainViewController alloc]init];
//通过设置window的根控制器,实现页面跳转
window.rootViewController = mainVC;

顺便提一下,另外两种找主window的方法,

1)//找到所有window, 最开始那个就是我们第一次添加的window
UIWindow * window =  [[UIApplication sharedApplication].windows objectAtIndex:0];
2)//找到应用程序的代理对象
UIWindow * window =  [[UIApplication sharedApplication].delegate window];

在Storyboard的情况下的页面跳转

第一种方法:选中第一个视图控制器,按住ctrl键拖线指向第二个视图控制器,选中Segue,在属性界面设置其Identifier.

[self performSegueWithIdentifier:@"Identifier" sender:self];

第二种方法:选中第二个视图控制器,在关联Class界面设置Storyboard ID.

//    UIStoryboard * sb = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; //和[self storyboard]作用一样
//通过刚才设置的Storyboard ID获取视图控制器实例对象
//不要用alloc方法 不然会创建一个新的viewController,导致出现黑屏现象
MainViewController * mainVC = [[self storyboard] instantiateViewControllerWithIdentifier:@"mainVC_id"];
UIWindow * window = [UIApplication sharedApplication].keyWindow
window.rootViewController = mainVC;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值