Как открыть новый вид при повороте устройства в альбомную ориентацию? - PullRequest
0 голосов
/ 01 марта 2011

У меня есть приложение, которое сосредоточено на куче viewControllers в портретном режиме, но на конкретном подробном виде мне нужно открыть другое представление, если устройство повернуто в альбомный режим.Таким образом, пользователь будет просматривать информационное представление в портретном режиме, и если пользователь затем поворачивает устройство в ландшафтном режиме, то отображается новое представление с дополнительной информацией.Если пользователь поворачивается назад к портрету, то необходимо удалить добавленное представление, чтобы был виден «оригинальный» подробный вид.Важно, чтобы «исходный» подробный вид не был повернут в альбомную ориентацию. Только открывайте новый вид в альбомной ориентации.

Я пытался использовать shouldAutorotateToInterfaceOrientation: и мне удалось открыть его, но не отображатьв альбомной ориентации, так что все выглядит запутанно, плюс у меня возникают некоторые проблемы с исчезновением вида при повороте назад в портретный режим.

Как мне это сделать?

Ответы [ 3 ]

0 голосов
/ 01 марта 2011

in shouldAutorotateToInterfaceOrientation

if(UIInterfaceOrientation == UIInterfaceOrientationPortrait){
NewView *newViewController = [[NewView alloc]initWithNib:@"NewView" bundle:nil];
[self.navigationController pushViewController:newViewController animated:NO];
}

Вы можете повторить это для всех других ориентаций.

0 голосов
/ 02 марта 2011

Использование shouldAutoRotate не работает, поскольку открываемое представление будет открыто в портретном режиме, а не в альбомной.

Я получил решение, использующее beginGeneratingDeviceOrientationNotifications и shouldAutoRotate в подпредставлении.

0 голосов
/ 01 марта 2011

Проверьте, изменилась ли ориентация с помощью контроллеров View, изменили ли методы ориентации, и повернул ли он ее в горизонтальную плоскость, добавив горизонтальный вид, и когда устройство повернуто в вертикальную ориентацию, удалите вид из представления контроллера вида.

...