Установить ориентацию на портрет на iPhone - PullRequest
1 голос
/ 22 июля 2010

У меня есть приложение, которое состоит из логина, 3 таблиц, а затем изображения.

Вы можете повернуть изображение в ландшафтный режим, но я хочу, чтобы при нажатии кнопки «назад» приложение возвращалось к предыдущему экрану, а я автоматически поворачивался,портретный вид.

Есть ли способ сделать это?

Ответы [ 3 ]

5 голосов
/ 11 сентября 2010

Для предыдущего контроллера:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
if (UIInterfaceOrientationIsPortrait(toInterfaceOrientation)) {
    return YES;
}
return NO;}
0 голосов
/ 22 июля 2010

Переопределите shouldAutorotateToInterfaceOrientation: в вашем контроллере табличного представления и верните только желаемую ориентацию.

Это может на самом деле не изменить ориентацию, поэтому, если это само по себе не работает, вам, возможно, придется позвонить setStatusBarOrientation:animated: on UIApplication в методах контроллера вашего табличного представления viewWillAppear: или viewDidAppear:.

0 голосов
/ 22 июля 2010

Если предыдущий контроллер вида поддерживает только портрет (см. shouldAutorotateToInterfaceOrientation:), он должен автоматически поворачиваться.

Если предыдущий контроллер вида поддерживает альбомную ориентацию, но вы хотите, чтобы он повернулся в портретную, если он изначально был в портретной ориентацииВы, вероятно, можете принудительно изменить его, изменив то, что shouldAutorotateToInterfaceOrientation: возвращает при переходе назад.Я бы не рекомендовал это;это несовместимый пользовательский интерфейс (и немного утомительно, чтобы выяснить, что происходит навигация).

Существуют различные способы установить ориентацию интерфейса контроллера представления (-[UIDevice setOrientation:] будет пытаться вызвать автоповорот), но затемвы находитесь в сфере частных API и потенциального отказа.

...