Как остановить отображение строки состояния после пробуждения в 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