美文网首页iOS SBStoryboard 移动 前端 Python Android Java
代码和storyboard混合使用实现视图切换方法

代码和storyboard混合使用实现视图切换方法

作者: 若水V_V | 来源:发表于2015-09-01 08:06 被阅读1625次

    视图切换一般有三种方法:UINavigationController,UITabbarController,模态窗口。
    一、在一个storyboard中存在多个ViewController想实现他们之间的切换可以使用segue或者代码实现切换。使用segue切换就不能在实现切换过程处理一些方法。若用代码如何实现呢?
    1、首先给你需要跳转到的视图设置storyboard ID.

    1

    2、然后根据Identity和presentViewController方法实现实例化一个视图并以模态对方式显示。

    //这里实现的是modal切换
    GetDataByPropertyViewController *getDataByPropertyViewController = 
    (GetDataByPropertyViewController *)[self.storyboard instantiateViewControllerWithIdentifier:@"getDataByPropertyViewController"];
    getDataByPropertyViewController.data = _userName.text;//通过属性传递值
    
    [self presentViewController:getDataByPropertyViewController animated:YES completion:nil];
    

    二、在多个storyboard中存在多个ViewController。使用多个storyboard是为了方便管理不同视图防止在一个storyboard中存在过多的视图而导致混乱。
    1、首先也是给storyboard设置storyboard ID.
    2、这时需要创建并实例化一个storyboard。

    // 通过多个storyboard来管理不同视图控制器可以避免放在一个storyboard中导致凌乱感觉。
    //1.根据storyboard名字创建storyboard
    UIStoryboard *s = [UIStoryboard storyboardWithName:@"second" bundle:nil];
    //2.实例化s中的视图控制器。
    UIViewController *vc = [s instantiateViewControllerWithIdentifier:@"second"];
    [self.navigationController pushViewController:vc animated:true];
    

    三、纯代码实现视图之间modal切换
    直接创建并实例化视图后调用presentViewController方法即可。

    GetDataByPropertyViewController *getDataByPropertyViewController = [[GetDataByPropertyViewController alloc]init];
    
    getDataByPropertyViewController.data = _userName.text;//传递值
    [self presentViewController:getDataByPropertyViewController animated:YES completion:nil];
    

    相关文章

      网友评论

        本文标题:代码和storyboard混合使用实现视图切换方法

        本文链接:https://www.haomeiwen.com/subject/xxehcttx.html