У меня есть UIWebView, входящий в UIViewController, который является потомком UINavigationController. Это выглядит следующим образом:Разрешить видеоролик с изображением только с портретом
приложение только портрет. Когда я воспроизвожу видео, я хочу, чтобы пользователь мог повернуть устройство и посмотреть видео в альбомном режиме. Я использую этот код, чтобы разрешить его:
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
id presentedViewController = [self topMostController];
NSString *className = presentedViewController ? NSStringFromClass([presentedViewController class]) : nil;
if ([className isEqualToString:@"MPInlineVideoFullscreenViewController"] ||
[className isEqualToString:@"MPMoviePlayerViewController"] ||
[className isEqualToString:@"AVFullScreenViewController"]) {
return UIInterfaceOrientationMaskAllButUpsideDown;
}
return UIInterfaceOrientationMaskPortrait;
}
- (UIViewController *)topMostController {
UIViewController *topController = [UIApplication sharedApplication].keyWindow.rootViewController;
while (topController.presentedViewController) {
topController = topController.presentedViewController;
}
return topController;
}
А потом в моей UINavigationController (так когда видео заканчивается вид не представлен в ландшафте, но только в портретном):
- (BOOL)shouldAutorotate
{
return NO;
}
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationPortrait;
}
Все работает отлично:
Но тогда видео сделали игру (или «Done» заходами пользователя) и экраны возврата к основной точке зрения, это то, что происходит:
Как вы можете видеть, навигационная панель скользит под строкой состояния. Кроме того, я получаю много ошибок автоматического макета в журналах: http://pastebin.com/09xHzmgJ
Любая идея о том, как это решить?
Какие настройки в вашем проекте (за пределами кода?) –
@entropid Вы когда-нибудь открыть для этого радар? Еще проблема на iOS 10 ... –