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

  • 相关阅读:
    day12(jsp指令&内置对象&动作标签、JavaBean、EL表达式&函数库)
    day11(jsp入门&Cookie&HttpSession&一次性图片校验码)
    day10(java web之request&respone&访问路径&编码问题)
    day09:Servlet详解
    day08:软件系统的体系结构&Tomcat详解&Web应用&http协议
    泛型详解
    类加载器
    动态代理2
    动态代理3之代理工厂实现
    动态代理1
  • 原文地址:https://www.cnblogs.com/cnsec/p/11515815.html
Copyright © 2011-2022 走看看