El controlador de vista infantil de UIPageViewController tiene un ciclo de vida incorrecto

Aug 18 2020

Cuando cierro a UiPageVC, después de la llamada viewWillDisappear de UiPageVC, las funciones viewWillAppear y viewDidAppear de ChildVC llaman. Al final, viewDidDisappear de UiPageVC funciona.

Necesito trabajar ChildVC como de forma normal. Cuando me despido a UiPageVC, viewWillDisappear y viewDidDisappear de ChildVC deberían llamar.

Respuestas

1 SauvikDolui Aug 18 2020 at 00:45

De acuerdo con esta respuesta , viewWillDisappear(_:)y viewDidDisappear(_:)no podría ser llamado en el controlador de vista del niño.

Siguiendo el documento de Apple , anular viewWillDisappear(_:)y viewDidDisappear(_:)en UIPageViewControllersubclase.

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