Я делаю пользовательский переход с контроллера A на контроллер B. В контроллере A навигатор скрыт, но он виден в контроллере B. Когда я выполняю настраиваемый переход, навигация бар сразу появляется в начале перехода. Как я могу это предотвратить?Скрытый навигационный бар в первом контроллере появляется во время пользовательского перехода
Вот некоторые куски кода:
В контроллере, навигационная панель скрыта с помощью следующего кода:
- (void)viewWillAppear:(BOOL)animated
{
[self.navigationController setNavigationBarHidden:YES animated:NO];
[super viewWillAppear:animated];
}
Кроме того, в контроллере А, я начинаю настраиваемые нажимной переход с помощью следующего кода:
{
...
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];
....
}
для toViewSnapshot, какие если вы сделали снимки с 'snapshotViewAfterScreenUpdates: NO' вместо да? Является ли навигационная панель вашего toViewCtrl предполагаемой видимой навигационной панелью? – chetem
Я пробовал оба, и это не помогает – Nihat