【问题标题】:viewWillAppear not being called after popToRootViewController在 popToRootViewController 之后没有调用 viewWillAppear
【发布时间】:2021-06-17 06:49:38
【问题描述】:

这是流程:
VC1 ->(推)-> VC2 ->(推) -> VC3
单击VC3 中的按钮时,我正在调用下面的方法并且它可以正常工作 - 带我回到VC1

self.navigationController?.popToRootViewController(animated: false)

但问题在于VC1 中的viewWillAppear() 方法没有被调用。
有什么办法可以调用吗?

【问题讨论】:

    标签: swift uiviewcontroller rootviewcontroller viewcontroller-lifecyle


    【解决方案1】:

    我不太确定,但在加载控制器时会调用 viewWillAppear()。关闭其他控制器时它没有调用。所以,你需要尝试custom DelegateNotification observer

    【讨论】:

      【解决方案2】:

      你可以在这里解决问题:

      if let root = navigationController?.viewControllers.last(where: { $0 is YourRootController }) {
           navigationController?.popToViewController(root, animated: true)
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-20
        • 2016-03-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多