iOS仅肖像应用程序从横向UIWebview youtube返回

时间:2012-03-12 12:19:00

标签: ios uiwebview youtube landscape-portrait

我正在创建iOS application,但我遇到了以下问题:

项目设置为portrait模式应用程序。 我有UIWebview,其中加载了一个包含youtube视频的网页。点击视频后,它会从youtube player开始。当视频更改为landscape模式并点击“完成”后,它会返回UIWebview,显示在landscape

视频完成后我收到NSNotification但我无法强制portrait模式。

这不可能,我如何允许youtube进入landscape,但强制该应用保持portrait模式?或者还有另一种解决方法吗?

修改

与Apple联系后,结果证明这是一个错误并被报道。

2 个答案:

答案 0 :(得分:2)

[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait];

是私有API。我不建议使用它。

    UIWindow *window = [[UIApplication sharedApplication] keyWindow];
    UIView *view = [window.subviews objectAtIndex:0];
    [view removeFromSuperview];
    [window insertSubview:view atIndex:0];

是我认为更好的方式。它强制应用程序调整其方向。

答案 1 :(得分:0)

我认为你可以像你说的那样使用NSNotification,并且在被叫方法中使用这行代码来强制查看肖像

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

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

希望能帮助