iPhone - отображение NavigationBar в полноэкранном режиме modalView заставляет его опуститься с прозрачным пространством сверху - PullRequest
1 голос
/ 19 марта 2011

У меня есть ModalView, вызываемый с помощью:

    PreferencesController *nextWindow = [[[PreferencesController alloc] initWithNibName:@"Preferences" bundle:nil] autorelease];
    nextWindow.wantsFullScreenLayout = YES;
    UINavigationController* navController = [[[UINavigationController alloc] initWithRootViewController:nextWindow] autorelease];

    [self presentModalViewController:navController animated:YES];

Он инициализируется так:

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.navigationController.navigationBarHidden = YES;
    self.title = @"Options";
}

Когда я установил, при нажатии кнопки (для проверки):

- (IBAction)ClickIt:(id)sender {
    self.navigationController.navigationBarHidden = NO;
}

Затем отображается панель навигации, но затем весь вид уменьшается с прозрачным пространством в верхней части представления с размером строки состояния.Смоделированные элементы в XIB для строки состояния установлены в положение OFF, как и для всех других смоделированных элементов.
Из-за этого места нижнее содержимое представления выходит за пределы экрана.
Я пытался принудительно self.wantsFullScreenLayout = YES после установки navigationBarHidden = NO, но это ничего не меняет.

Для информации, если я изменю viewDidLoad следующим образом:

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.navigationController.navigationBarHidden = NO;
    self.title = @"Options";
}

Тогда проблема та же без необходимости нажиматькнопка тестирования.

В чем может быть проблема?

1 Ответ

1 голос
/ 19 марта 2011

Как указано в в этом вопросе , вам может потребоваться скрыть строку состояния перед представлением контроллера в полноэкранном режиме, например, непосредственно при загрузке приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...