我正在创建iOS application
,但我遇到了以下问题:
项目设置为portrait
模式应用程序。
我有UIWebview
,其中加载了一个包含youtube
视频的网页。点击视频后,它会从youtube player
开始。当视频更改为landscape
模式并点击“完成”后,它会返回UIWebview
,显示在landscape
。
视频完成后我收到NSNotification
但我无法强制portrait
模式。
这不可能,我如何允许youtube进入landscape
,但强制该应用保持portrait
模式?或者还有另一种解决方法吗?
修改
与Apple联系后,结果证明这是一个错误并被报道。
答案 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];
}
}
希望能帮助