iOS纵向只有横向UIWebview YouTube的应用程序返回

我正在创build一个iOS application ,我遇到了以下问题:

该项目设置为portrait模式应用程序。 我有一个UIWebview ,其中加载了一个youtubevideo的网页。 点击video时,会从youtube player开始。 当video更改为landscape模式,单击“完成”时,它将返回到UIWebviewlandscape显示。

video完成后,我确实收到了NSNotification ,但我无法强制使用portrait模式。

这应该是不可能的,我怎么可以让YouTube的landscape但迫使应用程序停留在portrait模式? 还是有另一种解决方法?

编辑:

与苹果联系后,原来是一个错误,并报告。

 [[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait]; 

是私人API。 我不会推荐使用它。

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

我觉得好多了。 它迫使应用程序调整其方向。

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

 - (void)YourMethodCalledByNSNotification { UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation; if (orientation == UIInterfaceOrientationLandscapeLeft || orientation == UIInterfaceOrientationLandscapeRight || orientation == UIInterfaceOrientationPortraitUpsideDown) { [[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait]; } } 

希望有所帮助