Мое приложение имеет панель навигации, где 1-й экран возвращает ДА в ориентацию, второй - какую-то ориентацию в зависимости от того, что пользователь выбрал в 1-м экране. После возврата к 1-му экрану со 2-го экрана, если пользователь имел устройство в руке в портретной ориентации, но интерфейс находился в альбомной ориентации, 1-й экран устанавливается в альбомную ориентацию. Это происходит из-за
(BOOL)shouldAutorotateToInterfaceOrientation(UIInterfaceOrientation)interfaceOrientation
Вызывается только после изменения ориентации устройства.
Я хочу проверить ориентацию устройства и установить ориентацию интерфейса на этот.
Пробовал:
//1st method:
UIViewController *rotateTheScreen = [[UIViewController alloc]init];
[self presentModalViewController:rotateTheScreen animated:NO];
[self dismissModalViewControllerAnimated:NO];
[rotateTheScreen release];
//2nd method:
UIInterfaceOrientation interfaceOrientation = self.interfaceOrientation;
//3rd method:
UIInterfaceOrientation orientation = [[UIDevice currentDevice] orientation];
1-й действует странно, вращает все случаи, кроме возврата из ориентации интерфейса = альбомная ориентация и ориентация устройства = альбомная (здесь ошибка, он поворачивается в альбомную)
2-й проверяет интерфейс, как следует из названия, и не работает для моей проблемы
Третье, насколько я слышал, является частным, и Apple отклоняет приложения, использующие это.