IOS视图跳转

目前IOS创建视图UI主要分为三种:纯代码、XIB和StoryBoard。
下面结合这三种创建UI的方式为大家介绍在IOS开发过程中的视图跳转。

一、StroyBoard内跳转

1. 在故事面板建立视图之间的连接,如下图所示:
创建
2.跳转

// identifier 在故事的连接处设置
[self performSegueWithIdentifier:@"identifier" sender:self];

3.传参数

#pragma mark - Segues
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    // 方式一
    if ([[segue identifier] isEqualToString:@"identifier"])
    {
        DetailViewController *controller = segue.destinationViewController;

    }

    // 方式二
    if ([segue.destinationViewController isKindOfClass:[DetailViewController class]])
    {
        DetailViewController *controller = segue.destinationViewController;
    }

}

二、StroryBoard外跳转

1.获取UIViewController

    // 获取UIStoryboard内视图
    UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
    UIViewController *vc = [sb instantiateViewControllerWithIdentifier:@"migration"];

    // 获取XIB(主要是UITableViewCell)内视图
    NSArray *nibs = [[NSBundle mainBundle] loadNibNamed:@"nibName" owner:nil options:nil];
    UIViewController *vc = [nibs firstObject];

    // 纯代码获取,也可获取xib(UIViewController)创建的视图
    UIViewController *vc = [[UIViewController alloc] init];

2. 跳转

    // modal开启视图
    [self.navigationController presentViewController:vc animated:NO completion:nil];

    // push跳转
    [self.navigationController pushViewController:vc animated:YES];

三、关闭视图

    // modal开启视图关闭
    [self dismissViewControllerAnimated:YES completion:nil];

    // push跳转
    [self.navigationController popViewControllerAnimated:YES];

    // push跳转,多级页面回退
    NSInteger currentIndex = [self.navigationController.viewControllers indexOfObject:self] ;
    [self.navigationController popToViewController:self.navigationController.viewControllers[currentIndex - 2] animated:YES];
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值