Я знаю, как разрешить/запретить ориентацию для поворота с помощью
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
Однако теперь у меня проблема, когда телефон может быть в портретном (или увеличенном), и в какой-то момент я хочу повернуть экран так, как если бы пользователь повернулся к пейзажу. На данный момент я не хочу, чтобы autorotate работал больше. Я хочу заставить ориентацию интерфейса оставаться в ландшафте. Есть ли способ сделать это? Вероятно, я могу найти взломы для отключения авторотации, но, в первую очередь, заставляя вращение, я понятия не имею, как это сделать.
Вот что я пытаюсь сделать:
-
Приложение поворачивается на любую ориентацию. Все нормально.
-
Происходит событие.
-
Теперь авторотация работает только для пейзажа и ландшафта. Более того, если пользователь находится в портретном или портретном режиме, я программно поворачиваю на ландшафт, чтобы заблокировать пользователя в этой ориентации.
Просто для того, чтобы сделать вещи сложнее, я хочу выпустить UIAlertView
(я знаю, как это сделать) перед принудительной ротацией, позволяя пользователю узнать, что происходит, и я хочу, чтобы экран позади alertView поворачивался, но а не alertView. Возможно ли это?
Спасибо.