我正在从控制器 A 到控制器 B 进行自定义推送转换。在控制器 A 中,导航栏是隐藏的,但在控制器 B 中是可见的。当我进行自定义转换时,导航栏会立即出现在转换的开头。我怎样才能防止这种情况?
以下是一些代码片段:
在控制器 A 中,导航栏使用以下代码隐藏:
- (void)viewWillAppear:(BOOL)animated
{
[self.navigationController setNavigationBarHidden:YES animated:NO];
[super viewWillAppear:animated];
}
此外,在控制器 A 中,我使用以下代码开始自定义推送转换:
{
...
NOZViewController *vc = (NOZViewController *)[self.storyboard instantiateViewControllerWithIdentifier:@"gameController"];
[self.navigationController pushViewController:vc animated:YES ];
}
自定义过渡一开始,我就看到了控制器 B 的导航栏!以下是我如何获取自定义动画代码的快照以进行转换:
{
...
NOZMainViewController *fromViewCtrl =
(NOZMainViewController *)[transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey];
UIView *fromSnapshot = [fromViewCtrl.view snapshotViewAfterScreenUpdates:NO];
NOZViewController *toViewCtrl =
(NOZViewController *)[transitionContext viewControllerForKey:UITransitionContextToViewControllerKey];
UIView *toViewSnapshot = [toViewCtrl.view snapshotViewAfterScreenUpdates:YES];
....
}