【发布时间】:2019-11-21 21:27:40
【问题描述】:
调用func didMove(toParent parent: UIViewController?)的具体目的是什么?
从苹果文档中说:
如果你正在实现自己的容器视图控制器,它必须在转换到新控制器后调用子视图控制器的 didMove(toParent:) 方法,或者如果没有转换,则在调用 addChild 后立即(_:) 方法。
removeFromParent() 方法在移除子视图后会自动调用子视图控制器的 didMove(toParent:) 方法。
该函数似乎更新了视图控制器的转换,但我无法完全掌握调用它背后的想法。如果我不调用它会发生什么?
【问题讨论】:
-
我们这样做是为了告诉孩子我们什么时候完全完成了任何动画过渡,因为它被添加到视图层次结构中。否则,它无法知道动画过渡(如果有)是否已完成。不过,Apple 一直非常清楚,即使不涉及自定义转换,也必须“必须”调用它。
标签: ios uiviewcontroller uikit