Блокировка ориентации панели состояния iPad (только альбомная/портретная)

Я работал над приложением для iPad только для альбомной ориентации (что разрешено, если вы поддерживаете как правый, так и левый ландшафтный режим). Представления настроены правильно, но строка состояния глючит. Строка состояния iPad автоматически поворачивается сама по себе, и я не смог найти ничего, что могло бы это переопределить. Строка состояния поддерживает все ориентации независимо от того, что находится в info.plist (Поддерживаемые ориентации и начальная ориентация).

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

Есть ли способ заблокировать строку состояния iPad для поддержки только альбомной ориентации (справа и слева)?

Заранее спасибо, Натанавра.


person natanavra    schedule 16.11.2010    source источник


Ответы (1)


Некоторый ваш код поможет, но это то, что я обычно использую в своем ViewController:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{
  return (interfaceOrientation == UIInterfaceOrientationLandscapeRight || interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
}

Которые замки для ландшафта (обе стороны). У меня никогда не было проблем со строкой состояния, но я обычно ее скрываю.

Кроме того, в .plist у меня есть только 2 поддерживаемые ориентации интерфейса: item0 = Альбомная (правая домашняя кнопка) item1 = Альбомная (левая домашняя кнопка)

Надеюсь это поможет :)

person Andre    schedule 16.11.2010
comment
Забыл упомянуть об этом - мой основной viewController имеет код ограничения «shouldAutorotate», а мой info.plist содержит поддерживаемый ключ ориентации (только для ландшафта). Проблема заключается ТОЛЬКО в строке состояния, она как будто живет своей собственной жизнью. Он может поворачиваться в портретный режим, в то время как все виды являются альбомными. - person natanavra; 18.11.2010