UIPageViewController의 자식보기 컨트롤러에 잘못된 수명주기가 있습니다.
UiPageVC에 가까워지면 UiPageVC의 viewWillDisappear 호출 후 ChildVC의 viewWillAppear 및 viewDidAppear 함수가 호출됩니다. 결국 UiPageVC의 viewDidDisappear가 작동합니다.
일반적인 방식으로 ChildVC를 작동해야합니다. UiPageVC를 닫으면 ChildVC의 viewWillDisappear 및 viewDidDisappear가 호출되어야합니다.
답변
1 SauvikDolui
에 따르면 이 대답 , 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() }
}