Youtube视频强制iOS应用程序旋转

时间:2011-11-28 15:44:44

标签: ios uiwebview youtube landscape uiinterfaceorientation

我在UIViewController中创建了一个UIWebView。此网页视图包含像这样的YouTube视频页面:http://www.youtube.com/watch?v=oL1RE8JXaIw

当我点击视频链接时,会启动iOS视频播放器。直到这里一切都很顺利。

问题在于,当我旋转我的应用程序(在横向模式下)并单击完成按钮时,我的视图控制器处于横向模式。

所以我在视图控制器中添加了这个回调:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
    return NO;
}

但没有任何改变。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

该方向代码无效 - 请务必始终返回YES至少一个方向。

答案 1 :(得分:0)

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
    return UIInterfaceOrientationPortrait;
}

答案 2 :(得分:0)

我在viewDidLoad方法

中使用NSNotification处理了这个问题
[[NSNotificationCenter defaultCenter] addObserver:self
                                     selector:@selector(moviePlayerDidExitFullScreen)
                                         name:@"UIMoviePlayerControllerDidExitFullscreenNotification"
                                       object:nil];

此方法将在视频结束时调用,您可以进行必要的更改

- (void)moviePlayerDidExitFullScreen
{
    UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation;

    if (orientation == UIInterfaceOrientationLandscapeLeft || orientation == UIInterfaceOrientationLandscapeRight || orientation == UIInterfaceOrientationPortraitUpsideDown) 
    {
        [[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait];
    }
}

希望能帮助