UIPageViewControllerの子ViewControllerのライフサイクルが間違っています
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のドキュメントに従って、サブクラスで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() }
}