gpt4 book ai didi

iphone - iOS 6 : Youtube embed video (MPAVController) in a browser can lock app in landscape mode

转载 作者:行者123 更新时间:2023-12-03 19:11:31 24 4
gpt4 key购买 nike

我正在浏览器中嵌入 Youtube 视频,该浏览器是全纵向应用程序的一部分。当您启动 YouTube 视频时,它会在 MPAVController 中播放,并且允许在横向模式下旋转。这对我来说不是问题,但问题是如果视频是横向的并且我按“确定”关闭视频;我返回到浏览器,但 iPhone 状态栏现在停留在横向模式,在应用程序顶部留下空白,并且状态栏根据旋转方向重叠我的应用程序的右侧或左侧部分。

包含 UIWebView 的 View Controller 被锁定为纵向:

- (BOOL) shouldAutorotate
{
return YES;
}

- (NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskPortrait;
}

请注意,使用 6.0 之前的 SDK 进行编译时不会出现此问题。

有类似问题的 friend 有解决办法吗?

最佳答案

我也面临着同样的问题。这是我解决这个问题的方法:

首先在持有 UIWebView 的 ViewController 上注册接收 ExitFullscreenNotification:

- (void)viewDidLoad {
[super viewDidLoad];
// For FullSCreen Exit
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(youTubeVideoExit:)
name:@"UIMoviePlayerControllerDidExitFullscreenNotification"
object:nil];
}

然后,在“退出全屏”处理程序上,强制使用纵向模式:

- (void)youTubeVideoExit:(id)sender {
[[UIApplication sharedApplication] setStatusBarOrientation:UIDeviceOrientationPortrait animated:NO];
}

当视频以横向模式结束时,用户会看到状态栏瞬间改变了位置。这可能不是最好的解决方案,但至少解决了问题。

希望对你有帮助!

关于iphone - iOS 6 : Youtube embed video (MPAVController) in a browser can lock app in landscape mode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12807143/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com