UIPageViewController의 자식보기 컨트롤러에 잘못된 수명주기가 있습니다.

Aug 18 2020

UiPageVC에 가까워지면 UiPageVC의 viewWillDisappear 호출 후 ChildVC의 viewWillAppear 및 viewDidAppear 함수가 호출됩니다. 결국 UiPageVC의 viewDidDisappear가 작동합니다.

일반적인 방식으로 ChildVC를 작동해야합니다. UiPageVC를 닫으면 ChildVC의 viewWillDisappear 및 viewDidDisappear가 호출되어야합니다.

답변

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