无法弹出 viewController
Can't pop viewController
我正在使用此代码显示 UIViewController:
CATransition *transition = [CATransition animation];
transition.duration = 0.f;
transition.type = kCATransitionFade;
[self.navigationController.view.layer addAnimation:transition forKey:nil];
[self.navigationController pushViewController:newVC animated:NO];
并且 viewController 显示正确。然后我使用这段代码准备动画(用于制作流行音乐的动画):
CATransition *transition = [CATransition animation];
transition.duration = 0.f;
transition.type = kCATransitionFade;
[self.navigationController.view.layer addAnimation:transition forKey:nil];
然而,这两行都不会弹出它:
[self.navigationController popViewControllerAnimated:NO];
[self.navigationController popToRootViewControllerAnimated:NO];
可能是什么问题? 记录导航堆栈显示正确的 UIViewControllers
:
NSLog(@"%@", self.navigationController.viewControllers);
这就清楚了,
如果你不推送你的视图控制器,你就不能弹出你的视图控制器
如果您的代码中缺少以下行
[self.navigationController pushViewController:newVC animated:NO];
none 两个波纹管将执行
[self.navigationController popViewControllerAnimated:NO];
[self.navigationController popToRootViewControllerAnimated:NO];
好吧,这很尴尬。
我是 运行 viewDidAppear:animated:
中的推送调用,如果我们已经推送了,我忘记执行检查。因此,当我弹出新的 UIViewController
时,viewDidAppear:animated
再次重新推送新的 VC。我还将它设置为 animate:NO
并删除了自定义转换,导致弹出和重新推送基本上瞬间发生。
我通过在弹出消息处放置一个断点发现了这一点,并注意到模拟器显示了根 UIViewController
几分之一秒。
在
之前将你的 navigationItems left / right / title 设置为 nil
[self.navigationController popViewControllerAnimated:NO];
我今天看到一些类似的东西,弹出后视图没有更新
我正在使用此代码显示 UIViewController:
CATransition *transition = [CATransition animation];
transition.duration = 0.f;
transition.type = kCATransitionFade;
[self.navigationController.view.layer addAnimation:transition forKey:nil];
[self.navigationController pushViewController:newVC animated:NO];
并且 viewController 显示正确。然后我使用这段代码准备动画(用于制作流行音乐的动画):
CATransition *transition = [CATransition animation];
transition.duration = 0.f;
transition.type = kCATransitionFade;
[self.navigationController.view.layer addAnimation:transition forKey:nil];
然而,这两行都不会弹出它:
[self.navigationController popViewControllerAnimated:NO];
[self.navigationController popToRootViewControllerAnimated:NO];
可能是什么问题? 记录导航堆栈显示正确的 UIViewControllers
:
NSLog(@"%@", self.navigationController.viewControllers);
这就清楚了,
如果你不推送你的视图控制器,你就不能弹出你的视图控制器
如果您的代码中缺少以下行
[self.navigationController pushViewController:newVC animated:NO];
none 两个波纹管将执行
[self.navigationController popViewControllerAnimated:NO];
[self.navigationController popToRootViewControllerAnimated:NO];
好吧,这很尴尬。
我是 运行 viewDidAppear:animated:
中的推送调用,如果我们已经推送了,我忘记执行检查。因此,当我弹出新的 UIViewController
时,viewDidAppear:animated
再次重新推送新的 VC。我还将它设置为 animate:NO
并删除了自定义转换,导致弹出和重新推送基本上瞬间发生。
我通过在弹出消息处放置一个断点发现了这一点,并注意到模拟器显示了根 UIViewController
几分之一秒。
在
之前将你的 navigationItems left / right / title 设置为 nil[self.navigationController popViewControllerAnimated:NO];
我今天看到一些类似的东西,弹出后视图没有更新