Le contrôleur de vue enfant de UIPageViewController a un cycle de vie incorrect
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
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 UIPageViewController
sous-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() }
}