zoukankan      html  css  js  c++  java
  • 区分:presentingViewController和presentedViewController

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

    ➤微信公众号:山青咏芝(shanqingyongzhi)
    ➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/ )
    ➤GitHub地址:https://github.com/strengthen/LeetCode
    ➤原文地址: https://www.cnblogs.com/strengthen/p/14893191.html
    ➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
    ➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

    热烈欢迎,请直接点击!!!

    进入博主App Store主页,下载使用各个作品!!!

    注:博主将坚持每月上线一个新app!!!

    A---(present)---B---(present)---C

    1、那么 A 就是 B 的 presentingViewController.
    2、C 就是 B 的 presentedViewController.

    以B为参照:A为presentingViewController, C为presentedViewController

    presentingViewController: 当前控制器是哪个控制器弹出的。由谁弹出。
    presentedViewController: 当前控制器弹出的控制器。弹出了谁。

    如题,苹果自带的是没有直接dismissToRootViewController之类的方法,如果需要直接dismiss到最底层的那个控制器,可以自己写一个dismissToRootViewController方法

     1 extension UIViewController
     2 {
     3     func dismissToRootViewController()
     4     {
     5         var control:UIViewController = self
     6         while(control.presentingViewController != nil)
     7         {
     8             control = control.presentingViewController!
     9         }
    10         control.dismiss(animated: false, completion: nil)
    11     }
    12 }

    说明:self调用dismiss方法会的时候会判断self.presentedViewController是否存在,如果存在,就只会将self.presentedViewController给dismiss掉,自己不会dismiss掉。所以我们一直遍历到最底层的控制器,然后调用dismiss方法,就会将所有的presentedViewController给dismiss掉。

  • 相关阅读:
    小儿吃鸡蛋食积案
    女子经前胀痛脸上红斑案
    小儿外感咳嗽咽痛案
    顽固偏头痛案
    交通心肾治失眠
    小儿扁桃体高热兼咳嗽案
    过敏疾患与太少两感相合
    经前乳胀案
    女子黃带案
    小儿外感后频繁眨眼案
  • 原文地址:https://www.cnblogs.com/strengthen/p/14893191.html
Copyright © 2011-2022 走看看