调用popToRootViewControllerAnimated时,ios – viewWillDisappear不会被调用

我在遗留应用程序上工作,并且发现我的观点[Will / Did]消失方法并不总是被正确触发.

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

问题是:当我正常推动/弹出UINavigationController时,我的viewWillDisappear方法被正确调用.但是当我使用popToRootViewControllerAnimated:方法时,在任何被弹出的视图控件中都没有调用viewWillDisappear.

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

> If using a UINavigationController as a subview,you must call view[Will/Did]Disappear yourself
> Not calling the proper super methods

在我的应用程序中没有这些建议是这样的.我不知道在哪里看.任何人有建议在应用程序中做错了什么?

解决方法

视图可能不在屏幕上.它必须在viewWillDisappear:方法的屏幕(可见)上被调用.如果从背景回来,它是不可见的.

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

相关文章

背景 前端时间产品经理决定使用百度统计,使得 工程B 中原统计sdk-友盟统计,需要被去除。之前尝试去除...
结论: alloc负责分配内存和创建对象对应的isa指针; init只是返回alloc生成的对象。 所以alloc后,多次...
更新 如果UI愿意把启动图切割成n份,按一定约束在launchscreen.storyboard中进行排版,启动图效果会更好...
最近在看一本书《Effective OC 2.0》,今天看到有个tip是OC适中循环各自优劣性,作者最终推荐此块循环。...
// // ViewController.m // paintCodeTestOC //gif // Created by LongMa on 2019/7/25. // #import &a...
背景介绍 一般情况下,出于省电、权限、合理性等因素考虑,给人的感觉是很多奇怪的需求安卓可以实现,但...