У меня есть UIViewController
без строки состояния, и он запускает второй UIViewController
, который имеет строку состояния.Просмотр вытолкнул после шкурок состояния?
Если активна расширенная панель состояния, оба изображения отображаются правильно, но когда я выхожу из второго представления и возвращаюсь к первому, я вижу верхнюю черную полосу шириной 20 пунктов, а весь вид сдвинут вниз, затеняя дно.
Я попытался сбросить рамку до начала координат 0,0 в viewDidAppear
, но это не влияет.
Почему вид сдвинут вниз и как его исправить?
- (BOOL)prefersStatusBarHidden {
return YES;
}
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
self.view.frame = CGRectMake(0, 0, self.width, self.height);
self.view.backgroundColor = [UIColor redColor];
}
- (void)openShare {
Share *share = [[Share alloc] init];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:share];
nav.modalTransitionStyle = UIModalPresentationPopover;
[self presentViewController:nav animated:YES completion:nil];
}
верх зрения до openShare
называется:
верх зрения после Share
представлен и освобождаемый:
Вы настроили плоскость для отображения состояния панели управления viewcontroller? И рамка представлений не имеет ничего общего с черным представлением .Замена оконного фрейма может работать, но я не думаю, что это хорошая идея. –
Да, я установил ' UIViewControllerBasedStatusBarAppearance ' –
Cbas
Как изменить рамку окна? 'window', похоже, не существует в представлении контроллера – Cbas