应该显式调用willMoveToParentViewController:(UIViewController *)parent & didMoveToParentViewController:(UIV



在题为"iOS 上视图控制器的演变"WWDC 2012 会议中,- (void)willMoveToParentViewController:(UIViewController *)parent- (void)didMoveToParentViewController:(UIViewController *)parent被提到用于视图转换的自定义容器实现。

如果我没记错的话,似乎需要在- (void)removeFromSuperview之前或之后显式调用这些方法- (void)addSubview:(UIView *)view

但是,当我将它们记录在子类实现中时,它表明它们已被隐式调用。他们已被自动召唤到正确的位置。

所以,我有点困惑,如果真的需要显式调用这些方法,就像 WWDC 会话中指示的那样,或者可以不遵循它并清除不必要的代码行。

在我的书中解释道:

http://www.apeth.com/iOSBook/ch19.html#_container_view_controllers

基本上,两者中的一个确实是隐式调用的,但另一个您必须显式调用。这太令人抓狂了;我每次都必须查找规则。

最新更新