0

YouTubeビデオをロードするiPadアプリを作成しています。オンラインで見つかったiframeコードを含むYouTubeビデオをロードするUIWebViewを取得できました。iPad を回転できるようにする必要があり、横向きに回転したときにビデオがトリミングされないようにする必要がありますが、同時に横向きと縦向きの両方の幅がデバイスの全幅です。iframe には何を入れますか? 私は使用しようとしました

"meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=no" 

しかし、うまくいきませんでした。私はそれを iframe スクリプトに配置しようとしました( の間ではなく 内に。これは正しくありません。何かアイデアはありますか?どんな助けも大歓迎です。以下の私のコードは次のとおりです:

.m

#import "ViewController.h"
#import <AVFoundation/AVFoundation.h>

@interface ViewController ()

@end

@implementation ViewController

@synthesize webView;

-(void)viewDidLoad
{

   [super viewDidLoad];
   [self embedYouTube];

   NSLog(@"frame:%@", NSStringFromCGRect(self.view.frame)); // prints frame:{{0, 0}, {768, 1004}}
   NSLog(@"bounds:%@", NSStringFromCGRect([[self view] bounds])); // prints frame:{{0, 0}, {768, 1004}}

}

-(void)embedYouTube{

    AVAudioSession *audioSession = [AVAudioSession sharedInstance];
    BOOL ok;
    NSError *setCategoryError = nil;
    ok = [audioSession setCategory:AVAudioSessionCategoryPlayback
                         error:&setCategoryError];
    if (!ok) {
        NSLog(@"%s setCategoryError=%@", __PRETTY_FUNCTION__, setCategoryError);
}


     NSString *embedHTML = @"<iframe height=\"700\" width=\"900\" src=\"http://www.youtube.com/embed/QK8mJJJvaes\" frameborder=\"0\" allowfullscreen></iframe>";


     NSString *html = [NSString stringWithFormat:embedHTML];

    [webView loadHTMLString:html baseURL:nil];
    [self.view addSubview:webView];

}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

私の AppDelegate.m ファイルには、次のものがあります。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// we support rotation in this view controller
return YES;
}

.xib

ビューと webView の両方でサブビューの自動サイズ変更がチェックされており、ビューの向きは縦向き、ビューのサイズはなし、どちらもモード センターであり、webView はページに合わせてスケーリングされます。

4

1 に答える 1

1

アスペクト比計算機を使用して Xcode に与える正確な寸法を突き止めました。

-(void)embedYouTube{

    AVAudioSession *audioSession = [AVAudioSession sharedInstance];
    BOOL ok;
    NSError *setCategoryError = nil;
    ok = [audioSession setCategory:AVAudioSessionCategoryPlayback
                     error:&setCategoryError];
    if (!ok) {
    NSLog(@"%s setCategoryError=%@", __PRETTY_FUNCTION__, setCategoryError);
    }

    NSString *embedHTML = @"<iframe height=\"548\" width=\"975\" src=\"http://www.youtube.com/embed/QK8mJJJvaes\" frameborder=\"0\" allowfullscreen></iframe>";

    NSString *html = [NSString stringWithFormat:embedHTML];

   [webView loadHTMLString:html baseURL:nil];
   [self.view addSubview:webView];

}
于 2013-05-06T04:53:29.420 に答える