iOS, поддерживающая UIInterfaceOrientationPortrait, имеет проблему с statusBar
В моем приложении для iPhone (iOS 6-8) я поддерживаю только книжную ориентацию интерфейса, у него есть дополнительный компонент - просмотрщик фотографий, где вы можете просматривать фотографии в любой ориентации. Проблема в том, что если вы просматриваете фотографии, поворачиваете телефон в горизонтальное положение и закрываете просмотрщик фотографий, строка состояния остается горизонтальной (в левой или правой части приложения)
Чтобы вернуть его наверх, вам нужно либо полностью закрыть приложение через диспетчер задач, либо снова открыть компонент и повернуть его в портретное состояние.
Вопрос: как это сделать при закрытии строки состояния компонента обратно в исходное положение (портрет)?
У меня есть несколько идей, но я уверен, что есть лучшее решение
- Проверьте, исчезло ли средство просмотра фотографий, верните ориентацию, используя силу
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait];
or
[[UIDevice currentDevice] setValue: [NSNumber numberWithInteger: UIInterfaceOrientationPortrait] forKey:@"orientation"];
- Создайте категорию для ориентаций, поддерживаемых компонентами и жесткими кодами, как показано ниже
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait;
}