调用popToRootViewControllerAnimated时未调用viewWillDisappear

JRV*_*JRV 13 objective-c uiviewcontroller ios

我在遗留应用程序上工作,并且发现我的view[Will/Did]Disappear方法并不总是被正确解雇.

情况是,我UIViewController在AppDelegate中将(自定义)设置为rootViewController.这个rootViewController有一个UINavigationController,它上面有两个视图控制器.当用户按下主页按钮时,用户退出.当他稍后返回应用程序时,应用程序调用[UINavigationController popToRootViewControllerAnimated:YES]然后显示UIViewController用于登录的模式.

问题是:当我UINavigationController正常推/弹时,我的viewWillDisappear方法被正确调用.但是当我使用该popToRootViewControllerAnimated:方法时,viewWillDisappear不会弹出任何弹出的viewControllers.

在互联网上搜索只有两个可能的原因:

我的应用程序中没有这些建议.我不知道在哪里看.有人建议应用中出错了吗?

nev*_*ing 18

视图可能不在屏幕上.它必须在屏幕上(可见)viewWillDisappear:才能调用方法.如果它从后台返回,则不可见.

您可以尝试使用willMoveToParentViewController:从其父级删除视图控制器时调用的内容.