iOS-通过UIWebView强迫景观中的YouTube视频



我有一个仅支持肖像模式的应用。为了在全屏强迫景观模式下播放YouTube视频,我尝试展示一个模态视图控制器,该模态控制器包含一个自动播放的Web视图。

对于我已经实施的这样的VC:

- (BOOL)shouldAutorotate {
    return YES;
}
- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskLandscape;
}

此外,在rootviewController(这是TabBarviewController)中

- (BOOL)shouldAutorotate {
    return YES;
}
- (NSUInteger)supportedInterfaceOrientations {
    NSUInteger orientations = UIInterfaceOrientationMaskPortrait;
    if(/*modal view controller with web view is open*/) {
        return UIInterfaceOrientationMaskLandscape;
    }
    return orientations;
}

但是它不起作用,视频旋转,从那时起,从景观模式中解散模态VC,整个应用程序都保持在景观中。

任何帮助都非常感谢!

谢谢,丹

尝试使用此方法:

-(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation{
    return UIInterfaceOrientationLandscapeLeft;
}

当您的容器旋转时,诸如YouTube视频之类的内部内容随之旋转。如果无论如何都可以解决这个问题,则必须在旋转时在相反的方向上旋转视频,因此看起来似乎根本没有旋转。

所以类似的东西:(代码还不完整,但是您可以得到这个想法,应用90度旋转。)

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
                                              duration:(NSTimeInterval)duration {   // Rotate to landscape  
 self.view.frame = CGRectMake(0, 0, 480.0, 320.0);   
 if ([[UIApplication sharedApplication] statusBarOrientation] == UIInterfaceOrientationLandscapeRight) {
      CGAffineTransform transform = self.view.transform;
     // Set the center point of the view to the center point of the window's content area.      
     self.view.center = CGPointMake(160.0, 240.0); 
     // Rotate the view 90 degrees around its new center point.
     transform = CGAffineTransformRotate(transform, (M_PI / 2.0));
     self.view.transform = transform;
 }
}

相关内容

  • 没有找到相关文章

最新更新