我知道这是一种重复的问题,但我仍然无法弄清楚。当应用程序转到后台然后重新启动时,动画无法工作。在应用程序第一次启动时,我能够在视图之间获得推送/弹出动画,但一旦应用程序转到后台,它就停止了动画。
我已经创建了一个扩展UINavigationController
的自定义导航控制器类,并在其中编写了popViewControllerAnimated
方法。
- (UIViewController *)popViewControllerAnimated:(BOOL)animated {
UIViewController* viewController = [super popViewControllerAnimated:animated];
UIViewController* nextViewControler = [[self viewControllers] lastObject];
[nextViewControler viewWillAppear:animated];
[viewController viewWillDisappear:animated];
return viewController;
}
任何帮助都是非常感谢的。
发布于 2013-04-11 09:39:35
如果在代码中的某个地方,您使用YES
或NO
强制调用某个viewWillAppear
对等项,而不是让iOS决定,或者您使用viewDidAppear
不匹配对[super viewWillAppear:animated]
的调用,就会发生这种情况。
发布于 2015-07-21 10:04:14
在我这一端,我的UITabBarController中缺少call [super viewDidAppear:animated]
。
它实际上产生了一些其他奇怪的行为,所以我建议总是调用[super viewWill/Did*]
方法
发布于 2012-08-07 03:45:39
您可能希望尝试仅使用UINavigationControllerDelegate协议来调用viewWillAppear/viewDidAppear。有关更多详细信息,请参阅:
http://www.idev101.com/code/User_Interface/UINavigationController/viewWillAppear.html
https://stackoverflow.com/questions/11834485
复制