代码之家  ›  专栏  ›  技术社区  ›  user979331

关闭视图控制器后,将不会调用swift viewwill

  •  2
  • user979331  · 技术社区  · 6 年前

    我正在演示一个名为homeController的视图控制器,如下所示:

    let viewController = self.storyboard?.instantiateViewController(withIdentifier: "LoginController") as! LoginController
    
    let navigationController: UINavigationController = UINavigationController(rootViewController: viewController)
    
    present(navigationController, animated: true, completion: nil)
    

    在显示的视图中,控制器的logincontroller在某些情况下会被解除:

    self.dismiss(animated: true, completion: nil)
    

    但是当它返回到Homecontroller时,它不会调用ViewWillAppear,我真的需要在它返回时检查Homecontroller的条件,所以当Logincontroller取消视图时,我如何调用ViewWillAppear?

    1 回复  |  直到 6 年前
        1
  •  5
  •   Kevinosaurio    6 年前

    你需要设置正确的 presentationStyle 是的。如果您希望Presentedcontroller是全屏的,并将其称为上一个视图,则可以使用“ .全屏 “。”

    let viewController = self.storyboard?.instantiateViewController(withIdentifier: "LoginController") as! LoginController
    
    let navigationController: UINavigationController = UINavigationController(rootViewController: viewController)
    
    navigationController.modalPresentationStyle = .fullScreen
    
    present(navigationController, animated: true, completion: nil)