YouTube в iframe через uiwebview указывает размеры, которые не обрезаются при повороте на альбомную

Я делаю приложение для iPad, которое загружает видео на YouTube. Мне удалось получить UIWebView для загрузки видео YouTube с некоторым кодом iframe, найденным в Интернете. Мне нужно иметь возможность вращать 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

и для вида, и для веб-вида проверено автоматическое изменение размера подвидов, ориентация для просмотра - портретная, размер для просмотра - нулевой, оба - центр режима и веб-вид, масштабируемые по размеру страницы.

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];

}
Другие вопросы по тегам