Objective c popViewControllerAnimated动画不工作
我知道这是一个重复性的问题,但我还是无法理解。当应用程序转到背景然后返回时,动画不起作用。应用程序第一次启动时,我能够在视图之间获得推送/弹出动画,但一旦应用程序进入背景,它将停止动画 我创建了一个自定义导航控制器类,扩展了Objective c popViewControllerAnimated动画不工作,objective-c,ios5,uinavigationcontroller,popviewcontrolleranimated,Objective C,Ios5,Uinavigationcontroller,Popviewcontrolleranimated,我知道这是一个重复性的问题,但我还是无法理解。当应用程序转到背景然后返回时,动画不起作用。应用程序第一次启动时,我能够在视图之间获得推送/弹出动画,但一旦应用程序进入背景,它将停止动画 我创建了一个自定义导航控制器类,扩展了UINavigationController,并在其中编写了popViewControllerAnimated方法 - (UIViewController *)popViewControllerAnimated:(BOOL)animated { UIViewContr
UINavigationController
,并在其中编写了popViewControllerAnimated
方法
- (UIViewController *)popViewControllerAnimated:(BOOL)animated {
UIViewController* viewController = [super popViewControllerAnimated:animated];
UIViewController* nextViewControler = [[self viewControllers] lastObject];
[nextViewControler viewWillAppear:animated];
[viewController viewWillDisappear:animated];
return viewController;
}
非常感谢您的帮助。您可以尝试使用UINavigationControllerDelegate协议来调用viewwillbeen/viewdidebeen。有关更多详细信息,请参阅:
如果您在代码中的某个地方强制调用一个
视图,而不是让iOS决定,则会出现这种情况,或者如果您对视图的调用不匹配,视图将显示对应的YES
或NO
,[super view willbeen:animated]
在我这边,我的UITabBarController中缺少调用[超级视图显示:动画]
它实际上产生了一些其他奇怪的行为,因此我建议始终调用[super viewWill/Did*]
方法绝对不需要实现协议方法。从上面的代码中,您可以看到我已经在扩展导航控制器类的方法中调用viewwillappease/viewwilldefine。