Контроллер дочернего представления UIPageViewController имеет неправильный жизненный цикл

Aug 18 2020

Когда я приближаюсь к UiPageVC, после вызова UiPageVC viewWillDisappear, вызываются функции ChildVC viewWillAppear и viewDidAppear. В конце концов, ViewDidDisappear UiPageVC работает.

Мне нужно работать с ChildVC как обычно. Когда я увольняюсь в UiPageVC, должны вызывать viewWillDisappear и viewDidDisappear из ChildVC.

Ответы

1 SauvikDolui Aug 18 2020 at 00:45

Согласно этому ответу , viewWillDisappear(_:)& viewDidDisappear(_:)может не вызываться в контроллере дочернего представления.

Следуя Apple Doc , переопределите viewWillDisappear(_:)& viewDidDisappear(_:)в UIPageViewControllerподклассе.

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