Есть ли способ принудительно изменить ориентацию интерфейса в iPhone?

Я знаю, как разрешить / запретить поворот ориентации с помощью

- (BOOL) shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation) interfaceOrientation

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

Вот что я пытаюсь сделать:

  • Приложение вращается на любое и все ориентации. Все в норме.

  • Произошло событие.

  • Теперь автоповорот работает только для пейзажного левого и ландшафтного освещения. Более того, если пользователь находится в портретной или вертикальной ориентации, я программно поворачиваю ее в режим ландшафтного освещения, чтобы зафиксировать пользователя в этой ориентации.

Чтобы усложнить задачу, я хочу открыть UIAlertView (я знаю, как для этого) перед принудительным вращением, позволяя пользователю знать, что происходит, и я хочу отображать экран за alertView для поворота, но не за alertView. Это вообще возможно?

Спасибо.

12
задан iClavdivs 14 June 2011 в 17:12
поделиться