iOS纵向只有横向UIWebview YouTube的应用程序返回
我正在创build一个iOS application
,我遇到了以下问题:
该项目设置为portrait
模式应用程序。 我有一个UIWebview
,其中加载了一个youtube
video的网页。 点击video时,会从youtube player
开始。 当video更改为landscape
模式,单击“完成”时,它将返回到UIWebview
以landscape
显示。
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]; } }
希望有所帮助