2

我正在制作一个仅支持肖像模式的应用程序。这里我在 uiwebview 中加载 youtube 视频。所以当我切换到横向模式时,视频也必须以横向模式播放。但是在录制完视频播放器之后。我的视图控制器正在更改为横向模式,但它一直处于纵向模式,只有这里是我的 webview 代码

         web=[[UIWebView alloc]initWithFrame:CGRectMake(2,0, 140, 99)];
          web.backgroundColor=[UIColor redColor];
        [web setDataDetectorTypes: UIDataDetectorTypeNone];

        NSString *embedHTML = @"<iframe title=\"YouTube video player\" width=\"320\" height=\"460\" scrolling=\"no\" src=\"http://www.youtube.com/embed/%@?modestbranding=1&amp;rel=0;autoplay=1;showinfo=0;loop=1;autohide=1\" frameborder=\"0\" allowfullscreen allowTransparency=\"true\"></iframe>";

        NSString *htmlStr = [NSString stringWithFormat:embedHTML, [youtubeId_array objectAtIndex:i]];              
         web.tag=i+100;
        web.scrollView.bounces=NO;
        [web loadHTMLString:htmlStr baseURL:nil];
        [view addSubview:web];

  -(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
    return ( toInterfaceOrientation=UIInterfaceOrientationPortrait);
}
4

2 回答 2

0

您是否尝试过在返回应用程序时rootViewController设置?self

在您的视图控制器中:

import "AppDelegate.h"
...
- (void)functionRunWhenVideoFinish {
    ...
    self.appDelegate.window.rootViewController = self;
    ...
}
于 2013-04-05T09:15:54.937 回答
0

在 Appdelegate 和所需的视图控制器中添加这些行

单击完成按钮应用程序将移动所需的方向。

-(BOOL)shouldAutorotate
{
    return NO; 
}

-(NSUInteger)supportedInterfaceOrientations
{
    //LandScapeMode:- UIInterfaceOrientationMaskLandscape;
    //PortraitMode:- 
    return UIInterfaceOrientationMaskPortrait 
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    //LandScapeMode:- UIInterfaceOrientationLandscapeRight;
   // ProtraitMode:-
   return UIInterfaceOrientationPortrait
}
于 2016-05-26T12:51:16.997 回答