Как остановить отображение строки состояния после пробуждения в Guided Access на iOS7?

Сообщалось о проблеме, когда строка состояния иногда отображается в нашем приложении после сна и пробуждения iPad. Наша установка выглядит следующим образом:

  • Наше приложение только в альбомной ориентации (слева и справа)
  • Я включил управляемый доступ на устройстве
  • Я включил кнопку сна / пробуждения в управляемом доступе
  • Недавно мы обновили наше приложение и iPad до iOS7 и не увидели этой проблемы в iOS6

После расследования я обнаружил следующее в режиме управляемого доступа:

  • Когда устройство находится в альбомной ориентации, из-за многократного сна и пробуждения (с помощью кнопки питания на устройстве) время от времени (~1 из 10) строка состояния отображается в альбомной ориентации, а затем сразу исчезает.
  • Спящий аппарат, затем поворачивающийся в портретный режим, затем просыпающийся, очень последовательно (~8 в 10) заставляет строку состояния появляться в портретной ориентации и оставаться на экране

Я попытался с помощью следующего, вызванного из applicationDidBecomeActive:

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];

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

Кто-нибудь знает исправить или обойти это? Понятия не имею, как бы получить контроль над 2-й строкой состояния? (Это звучит как ошибка в iOS7 для меня?).

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

1 ответ

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[application setStatusBarHidden:YES];
}

в вашем plist-файле приложения добавьте строку с именем "Просмотр внешнего вида строки состояния на основе контроллера" и установите для нее значение NO

Другие вопросы по тегам