zoukankan      html  css  js  c++  java
  • Storyboard的使用 页面切换、页面传值(IOS5)

    一、在StoryBoard下页面的切换引入了UIStoryboardSegue(联线类),共有三种类型:push,modal,和custom,如图下:

       简单说下这三个的作用:使用导航栏压进新的控制器(push),模态的加载视图控制器(modal),自定义(custom)
       一般页面的切换都是点击源视图控制器上的某个按钮或某个view的touch事件,然后对应代码里有一个响应的方法去代码版实现跳转,可参考:《
    UIViewContrller  页面之间  切换的几种方式》http://blog.sina.com.cn/s/blog_74e9d98d01017vxn.html
        在storyboard中有两种方式:
          1.直接点选button,按住Ctrl键拖拽至目的视图控制器就可以了,不用给button设置对应的响应事件
          2.通过viewcontroller之间直接拖拽形成一个segue,然后指定这个segue的identifier,最后再源视图控制器的代码中适当位置调用:[self performSegueWithIdentifier:@"nextSegue" sender:self]; 就能实现跳转

         

      
    二、页面间传值
        常用的传值方式有单例、全局静态变量,直接在源视图控制器的跳转代码处指定目的试图控制器类对象的变量值:
         CmgeRechargeViewController *rechargeViewController = [[CmgeRechargeViewController alloc]init];
         rechargeViewController.Abianliang = @"dfdf";
                ......
         [self.navigationController pushViewController:rechargeViewController animated:YES];
       在storyboard中只要在源视图控制器代码中重写prepareForSegue方法:
          - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
             if
    ([segue.identifier isEqualToString:@"nextSegue"]) { //可通过判断segue的标示来实现源视图控制器中多个跳转事件

            RecipeDetailViewController *destViewController = segue.destinationViewController; //获取目的试图控制器对象,跟原来一样,在.m文件中要引入头文件

            destViewController.recipeName = @“ddd”;//设置变量传值方式还是和以前一样

        }

    }

    参考:http://blog.csdn.net/mad1989/article/details/7919504

         http://alan-hjkl.iteye.com/blog/1679905

         http://ryan.easymorse.com/?p=72 //自定义segue类型

         http://www.myexception.cn/mobile/828058.html

  • 相关阅读:
    栈的使用
    学习
    JS中常用的工具类
    AOP的相关概念
    Git-用git同步代码
    权限管理3-整合Spring Security
    权限管理2-开发权限管理接口
    权限管理1-需求描述
    使用Canal作为mysql的数据同步工具
    使用存储过程在mysql中批量插入数据
  • 原文地址:https://www.cnblogs.com/cnsec/p/11515815.html
Copyright © 2011-2022 走看看