Повернуть вид до нажатия? - PullRequest
0 голосов
/ 20 января 2012

У меня есть два вида A и B. A выдвигается к B, а B возвращается к A. В A, используя «shouldAutorotateToInterfaceOrientation", я ограничиваю поворот в Portrait и PortraitUpsideDown.

В BI ограничиваю поворотLandscapeLeft / Right.

Однако, когда я нажимаю на вид B, независимо от начальной ориентации моего устройства, вид B также показывает Портрет, пока я не поверну свое устройство.С тех пор он автоматически поворачивается к LandscapeLeft / Right, как и должно.

Все, что я до сих пор читал, говорит о shouldAutorotateToInterfaceOrientation, но у меня есть эта настройка правильно (по крайней мере, я так думаю).* Как сделать так, чтобы представление B всегда начиналось в альбомной ориентации?

Спасибо.

Ответы [ 2 ]

1 голос
/ 21 января 2012

Самый простой способ сделать так, чтобы ваш контроллер вида с именем B всегда запускался в альбомной ориентации, - это представить его модально, а не передавать его на ваш контроллер навигации. Похоже, это метод, который приложение YouTube использует для поворота интерфейса.

B *nextVC = [[B alloc] initWithNibName:nil bundle:nil];
[self presentModalViewController:nextVC animated:YES];

Если вам абсолютно необходимо нажать на представление, вы можете сделать что-то вроде этого:

B *nextVC = [[B alloc] initWithNibName:nil bundle:nil];
[self.navigationController pushViewController:nextVC animated:NO];
UIViewController *cont = [[UIViewController alloc] initWithNibName:nil bundle:nil];
[self presentModalViewController:cont animated:NO];
[cont dismissModalViewControllerAnimated:NO];

Хотите верьте, хотите нет, но на самом деле это дает хороший эффект.

1 голос
/ 21 января 2012

Вам нужно будет использовать модальное представление. И кнопка Готово или что-то подобное, чтобы вызвать dismissModalViewControllerAnimated.

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