• Modal实现页面跳转和控制器数据传递


    一.Model跳转的实现

    1.新建工程

     

    2.新建View控制器和导航控制器

    (1)为拖控件,两个view一个navigation; 如图:

     

    (2)view的“GotoTwo”按键添加Segues到Navigation 模式是“Modal”;如图

     

    (3)设置view2(即TwoViewControllder)为NavigationController的根控制器,如图:

     

    最终效果:

     

    3.为view2新建相应的Cocoa Touch类“TwoViewController”

    4.为View2的“Back”按键添加Action,为View1和View2的文本框添加IBOutLet;

    5.实现backClick函数;

    到此,为已经可以实现页面的跳转 和返回;

    二.实现数据传递

    从View1到View2是数据的“顺传”,利用segues的源控制器和目标控制器属性即可实现; 从View2到View1是数据的“逆传”,得用代理;

    (View1对应ViewController ;View2对应TwoViewController)

    (1)View1到View2: 重写ViewController的prepareForSegues方法;设置segue的目标控制器为NavigationController,因为NavigationController的根控制器是TwoViewController,所以跳转之后到了TwoViewController;

    (2)View2到View1:

    a.  TwoViewController.h添加代理协议TwoViewControllerDelegate,协议里定义“Back”按键被点击代理方法;

    b. TwoViewController.h添加代理myDelegate;

    c.去到ViewContrlloer实现代理协议和代理方法,并在之前的prepareForSegue方法里将自己设置为TwoViewController的代理人;如图从上至下红圈所示

     

    d.最后一步,回到TwoViewController,当“back”按键被点击时,要通知代理;如图

     

  • 相关阅读:
    WinForm 窗体应用程序(初步)之一
    ADO.NET
    面向对象思想
    数据库原理
    HTML学习总结
    c# 学习心得(2)
    c# 学习心得(1)
    《大话数据结构》读书笔记(2)
    《大话数据结构》读书笔记(1)
    ASP.NET Core学习总结(3)
  • 原文地址:https://www.cnblogs.com/ajilisiwei/p/Modal.html
Copyright © 2020-2023  润新知