Hul*_*ASH 4 youtube iphone uiinterfaceorientation landscape-portrait ios6
我在浏览器中嵌入了Youtube视频,这是所有肖像应用程序的一部分.当您启动YouTube视频时,它将在MPAVController中播放并允许在Landscape中旋转.这对我来说不是问题,但问题是如果视频是横向的,我按"OK"关闭视频; 我返回浏览器,但iPhone状态栏现在停留在横向模式,在应用程序顶部留下一个空白区域,以及状态栏覆盖我的应用程序的右侧或左侧部分,具体取决于旋转方向.
包含UIWebView的视图控制器被纵向锁定:
- (BOOL) shouldAutorotate
{
return YES;
}
- (NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskPortrait;
}
Run Code Online (Sandbox Code Playgroud)
请注意,使用6.0之前的SDK进行编译时,不会出现此问题.
有类似问题的人有解决方案吗?
我面临同样的问题.以下是我如何解决它:
首先在包含UIWebView的ViewController上注册以接收ExitFullscreenNotification:
- (void)viewDidLoad {
[super viewDidLoad];
// For FullSCreen Exit
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(youTubeVideoExit:)
name:@"UIMoviePlayerControllerDidExitFullscreenNotification"
object:nil];
}
Run Code Online (Sandbox Code Playgroud)
然后,在"退出全屏"处理程序上,强制纵向模式:
- (void)youTubeVideoExit:(id)sender {
[[UIApplication sharedApplication] setStatusBarOrientation:UIDeviceOrientationPortrait animated:NO];
}
Run Code Online (Sandbox Code Playgroud)
当视频以横向模式完成时,用户会看到状态栏一瞬间改变其位置.这可能不是最好的解决方案,但至少可以解决问题.
希望能帮助到你!
| 归档时间: |
|
| 查看次数: |
3261 次 |
| 最近记录: |