zoukankan      html  css  js  c++  java
  • UIViewController的dismiss跳转多个页面

    有多个控制器,依次通过  presentViewControlleranimated:completion: 方法进行页面跳转,那么如何从最后一个视图控制器跳转会根控制器呢?

    假设有四个视图控制器,每个控制器中都有一个UIButton,UIButton的响应方法,依次为

    根控制器:

    - (void) buttonClicked:(id) sender {
        A_Controller * controller =[[A_Controller alloc] init];
        [self presentViewController: controller animated:YES completion:nil];
    }

    A控制器:

    - (void) buttonClicked:(id) sender {
        B_Controller * controller =[[B_Controller alloc] init];
        [self presentViewController: controller animated:YES completion:nil];
    }

    B控制器

    - (void) buttonClicked:(id)sender {
        C_Controller * controller = [[C_Controller alloc] init];
        [self presentViewController:controller animated:YES completion:nil];
    }

    C控制器

    - (void) buttonClicked:(id) sender {
        UIViewController * controller = self.presentingViewController;
        [self dismissViewControllerAnimated:YES completion:^{
            UIViewController * c = controller.presentingViewController;
            [controller dismissViewControllerAnimated:YES completion:^{
                [c dismissViewControllerAnimated:YES completion:nil];
            }];
        }];
    }

    这样,点击C控制器button的响应方法的时候,就会跳会到根控制器

  • 相关阅读:
    前端优化方法(全)
    前端工程化
    HTTP状态码
    TCP三次握手和四次挥手
    在浏览器输入url后并回车发生了哪些过程
    javascript异步编程
    为什么浏览器采用多进程模型
    LeetCode——最长回文子串?
    LeetCode——字符串的排列/找到字符串中所有字母异位词
    LeetCode——24 点游戏
  • 原文地址:https://www.cnblogs.com/benbenzhu/p/3071674.html
Copyright © 2011-2022 走看看