Le contrôleur de vue enfant de UIPageViewController a un cycle de vie incorrect

Aug 18 2020

Lorsque je ferme UiPageVC, après l'appel de viewWillDisappear d'UiPageVC, les fonctions viewWillAppear et viewDidAppear de ChildVC sont appelées. À la fin, viewDidDisappear d'UiPageVC fonctionne.

J'ai besoin de travailler ChildVC comme d'habitude. Lorsque je rejette UiPageVC, viewWillDisappear et viewDidDisappear de ChildVC doivent appeler.

Réponses

1 SauvikDolui Aug 18 2020 at 00:45

Selon cette réponse , viewWillDisappear(_:)& viewDidDisappear(_:)pourrait ne pas être appelé dans le contrôleur de vue enfant.

Après le Doc d'Apple , remplacez viewWillDisappear(_:)& viewDidDisappear(_:)dans la UIPageViewControllersous-classe.

    override func viewWillDisappear(_ animated: Bool) {
        super.viewWillAppear(animated)
        children.forEach { $0.beginAppearanceTransition(false, animated: true) } } override func viewDidDisappear(_ animated: Bool) { super.viewDidDisappear(animated) children.forEach { $0.endAppearanceTransition() }
    }