Проблема ориентации интерфейса панели вкладок - PullRequest
5 голосов
/ 02 мая 2011

Я добавил пользовательскую панель вкладок.С вкладками, включающими дополнительные вкладки.

Моя первая вкладка поддерживает только портретный режим.Вторая вкладка имеет все ориентации.

Проблема возникает при выборе второй вкладки, удерживая ее в альбомной ориентации, а затем выбирая первую вкладку в альбомной ориентации.В это время первый вид вкладки полностью поворачивается, но панель вкладок остается в альбомном режиме.

Как мне преодолеть этот сценарий?Этот метод должен вращаться в контроллере пользовательской панели вкладок

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
if (self.selectedIndex == 0) {

    return [self.selectedViewController shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationPortrait];

} else if (self.selectedIndex == 1) {

    return YES;
} 

return NO;}

Этот метод должен вращаться в контроллерах первого и второго вида контроллера навигации

Первый

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation == UIInterfaceOrientationPortrait);}

Второй

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return YES;}

1 Ответ

3 голосов
/ 03 мая 2011

В случае автоматического поворота в направлении интерфейса вам необходимо перерисовать панель вкладок, просто удалите ее из self.window и добавьте ее снова.

[navigationController_.view removeFromSuperview];
[self.window addSubview:navigationController_.view];

Редактировать: вам нужно установить правильный кадр для каждой ориентации перед перерисовкой.

...