Как спровоцировать всплывающее окно модального вида, повернув устройство в ландшафт? - PullRequest
1 голос
/ 31 января 2011

Я работаю над приложением, в котором я хочу показать контроллер модального представления, когда пользователь поворачивает устройство.Это должно отклонить, когда пользователь поворачивает это назад к портрету.Во время поворота контроллер основного вида не должен поворачиваться.

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

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

Некоторые идеи?

Ответы [ 2 ]

2 голосов
/ 31 января 2011

В приложении Delegate вы можете использовать

[[NSNotificationCenter defaultCenter] addObserver:self
                                        selector:@selector(didRotate:)
                                             name:UIDeviceOrientationDidChangeNotification
                                           object:nil];

и определите метод

- (void) didRotate:(NSNotification *)notification

В этом методе выберите новую ориентацию и примените или удалите модальный контроллер вида.

В shouldAutorotateToInterfaceOrientation: ограничить исходный вид только той ориентацией, которую вы хотите.

1 голос
/ 31 января 2011

вам нужно поместить этот код в

-(void) willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration

метод вашего контроллера представления. По сути, вы установите shouldAutorotateToInterfaceOrientationMethod: для возврата TRUE для любых ориентаций, которые вы хотите поддерживать (включая всплывающее окно модального вида). и затем в первом из перечисленных способов вы активируете контроллер модального вида.

...