iOS 8的YouTubevideoembedded

我面临着我似乎无法理解的问题。

我有这个代码在iOS 7的Xcode 5中完美的工作:

- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. CGFloat width = self.view.frame.size.width; CGFloat height = self.view.frame.size.height; UIWebView *webview = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, width, height)]; NSString* embedHTML = @"\ <html><head><meta name=\"viewport\" content=\"width=device-width; initial-scale=1.0; user-scalable=0;\"/>\ <style type=\"text/css\">\ body {\ background-color: transparent;\ color: black;\ }\ </style>\ </head><body style=\"margin:0;\">\ <embed id=\"yt\" src=\"https://www.youtube.com/v/M7lc1UVf-VE?hd=1\" type=\"application/x-shockwave-flash\" \ width=\"%0.0f\" height=\"%0.0f\"></embed>\ </body></html>"; NSString *html = [NSString stringWithFormat:embedHTML, width, height]; [webview loadHTMLString:html baseURL:nil]; [self.view addSubview:webview]; } 

当我在iOS 8的Xcode 6中构build相同的代码时,video显示在web视图中,但是方法很简单。

有人可以解释这里发生了什么,我怎么能克服呢?

我有同样的问题,我解决使用这个解决scheme

https://developers.google.com/youtube/v3/guides/ios_youtube_helper

也在YTPlayerView.m(〜line:610)尝试这个改变:

 [playerParams setValue:[NSString stringWithFormat: @"%0.00f", self.frame.size.height] forKey:@"height"]; // [playerParams setValue:@"100%" forKey:@"height"]; [playerParams setValue:[NSString stringWithFormat: @"%0.00f", self.frame.size.width] forKey:@"width"]; // [playerParams setValue:@"100%" forKey:@"width"]; 

希望这个帮助

我花了一段时间,找出了一个解决scheme,令人惊讶的为我的目的。 在我的情况发生了什么是由于某种原因,iFrame正在使用一些需要被丢弃的填充。

另外需要注意的是,如果将youtube.com作为基本URL加载,则加载速度会更快。

在故事板中创build一个UIWebView并将@property连接到它,然后参考下面。

  CGFloat height = self.webView.frame.size.height; CGFloat width = self.webView.frame.size.width; NSString *youTubeVideoCode = @"dQw4w9WgXcQ"; NSString *embedHTML = @"<iframe width=\"%f\" height=\"%f\" src=\"http://www.youtube.com/embed/%@\" frameborder=\"0\" style=\"margin:-8px;padding:0;\" allowfullscreen></iframe>"; NSString *html = [NSString stringWithFormat:embedHTML, width, height, youTubeVideoCode]; self.webView.scrollView.bounces = NO; [self.webView loadHTMLString:html baseURL:[NSURL URLWithString:@"http://www.youtube.com"]];