0

UIWebView に埋め込まれた YouTube ビデオを開きたいのですが、以下のコードを使用してそれを実現します。

videoURL = @"http://www.youtube.com/embed/A9kCPgVIbH4";
videoView = [[UIWebView alloc] initWithFrame:CGRectMake(0, -30, self.view.frame.size.width, 210)];
videoView.scrollView.scrollEnabled = NO;
videoView.backgroundColor = [UIColor clearColor];
videoView.opaque = NO;
videoHTML = [NSString stringWithFormat:@"\
             <html>\
             <head>\
             <style type=\"text/css\">\
             iframe {position:absolute; margin-top:0px;}\
             body {background-color:#000; margin:0;}\
             </style>\
             </head>\
             <body>\
             <iframe width=\"100%%\" height=\"240px\" src=\"%@\" frameborder=\"0\" allowfullscreen></iframe>\
             </body>\
             </html>", videoURL];
[self.tableView addSubview:videoView];
[videoView loadHTMLString:videoHTML baseURL:nil];

ただし、大きな問題が 1 つあります。私のアプリケーションは UIInterfaceOrientationPortrait のみを使用しますが、この UIWebView YouTube プレーヤーをクリックすると、フルスクリーン モードで開き、ビデオを横向きモードに回転できるようになります。ビデオを見終わったら、「戻る」をクリックして、すべての問題を開始します。私のアプリケーションも横向きモードに回転されているため、見栄えがよくありません。多分誰もがこの問題を解決する方法を知っていますか? UIWebView の回転をブロックする方法、または回転をまったくブロックする方法。

Info-plist では、縦向き以外の向きをすべて削除しましたが、何も変わりませんでした。返信をお待ちしております。ありがとうございます。

4

1 に答える 1

1

アプリのデリゲートを確認し、supportedInterfaceOrientationsForWindowを実装してUIInterfaceOrientationMaskPortraitのみを返すようにすると、運が良くなる可能性があります。

ビューコントローラでsupportedInterfaceOrientations関数を調べて、ポートレートマスクのみを返すようにするか、shouldAutorotateを実装してNOを返すこともできます。

于 2013-01-22T18:09:02.360 に答える