ios - UIPageViewController 的子视图控制器的生命周期错误
问题描述
当我靠近 UiPageVC 时,在 UiPageVC 的 viewWillDisappear 调用之后, ChildVC 的 viewWillAppear 和 viewDidAppear 函数调用。最后,UiPageVC 的 viewDidDisappear 起作用了。
我需要像正常方式一样工作 ChildVC。当我解雇 UiPageVC 时, ChildVC 的 viewWillDisappear 和 viewDidDisappear 应该调用。
解决方案
根据这个答案,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() }
}
推荐阅读
- excel - Excel 2016:重复行填充 4 个重复数字的系列
- asp.net-mvc-4 - 使用 linq 跨多个表执行搜索
- python - 为什么 stdbuf 对 Python 没有影响?
- php - 如何在其他数据库表中使用一个选择更新数据
- azure - 无法使用 Azure PowerShell 注册 Microsoft.DataFactory
- matlab - 激光雷达到相机图像融合
- python - 什么时候可以安全地删除 Tomcat 8 /temp 目录?
- android - 如何使用改造设置/获取快速会话数据
- javascript - 如何在没有 id、class 或 jQuery 的情况下通过 tagName 获取按钮?
- wordpress - 如何将面板添加到古腾堡“文档”选项卡上的侧边栏?