popViewController动画动画不起作用



我知道这是SO中重复的问题,但我仍然无法弄清楚。当应用程序进入后台然后重新启动时,动画不起作用。应用程序第一次启动时,我能够在视图之间获取推送/弹出动画,但是一旦应用程序进入后台,它就不再动画化。

我创建了一个扩展UINavigationController的自定义导航控制器类,并在其中编写了 popViewControllerAnimated 方法。

- (UIViewController *)popViewControllerAnimated:(BOOL)animated {
    UIViewController* viewController = [super popViewControllerAnimated:animated];    
    UIViewController* nextViewControler = [[self viewControllers] lastObject];
    [nextViewControler viewWillAppear:animated];    
    [viewController viewWillDisappear:animated];
    return viewController;
}

任何帮助,不胜感激。

如果您在代码中的某个地方强制调用具有 YESNOviewWillAppear对应项之一,而不是让 iOS 决定,或者您对[super viewWillAppear:animated]的调用与 viewDidAppear 不匹配,就会发生这种情况。

在我的UITabBarController中缺少调用[super viewDidAppear:animated]

它实际上产生了一些其他奇怪的行为,所以我建议总是调用[super viewWill/Did*]方法

您可能只想尝试使用 UINavigationControllerDelegate 协议来调用 viewWillAppear/viewDidSeem 。 有关更多详细信息,请参阅:

http://www.idev101.com/code/User_Interface/UINavigationController/viewWillAppear.html

相关内容

  • 没有找到相关文章

最新更新