Child View Controller di UIPageViewController ha un ciclo di vita errato

Aug 18 2020

Quando chiudo a UiPageVC, dopo la chiamata viewWillDisappear di UiPageVC, le chiamate di funzione viewWillAppear e viewDidAppear di ChildVC. Alla fine, viewDidDisappear di UiPageVC funziona.

Ho bisogno di lavorare ChildVC come al solito. Quando chiudo a UiPageVC, viewWillDisappear e viewDidDisappear di ChildVC dovrebbero chiamare.

Risposte

1 SauvikDolui Aug 18 2020 at 00:45

In base a questa risposta , viewWillDisappear(_:)& viewDidDisappear(_:)potrebbe non essere chiamato nel controller di visualizzazione figlio.

Seguendo il documento di Apple , sovrascrivi viewWillDisappear(_:)& viewDidDisappear(_:)in UIPageViewControllersottoclasse.

    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() }
    }