1

现在我对这个问题感到困惑,并且无法在 Stack Overflow 上找到任何有用的东西。

当用户单击链接时,我正在使用应用程序内浏览器开发应用程序。现在,它只是一个 UINavigationController 中的全尺寸 UIWebView。我可以很好地使用 UIWebView 加载网页,但是当嵌入 Youtube 时,我无法播放视频。

我正在使用此 URL 进行测试: http: //kottke.org/13/10/the-grand-budapest-hotel

当我在 Twitterific 中使用应用内浏览器加载 URL 时,视频是可播放的。当我在我的应用内浏览器中加载它时,我会从 Youtube 获得一个带有红色播放按钮的黑框,但是当你点击播放按钮时,它会消失并且视频永远不会加载。

_webView = [[UIWebView alloc] init];
[_webView setTranslatesAutoresizingMaskIntoConstraints:NO];
[_webView setScalesPageToFit:YES];
[self.view addSubview:_webView];
[self.view addConstraints:constraints];
[_webView loadRequest:request];

我是否缺少 UIWebView 上的设置?

4

1 回答 1

0

我用这个:

NSString *html = [self getHTML:videoId];
[self loadHTMLString:html baseURL:[[NSBundle mainBundle] resourceURL]];

- (NSString *) getHTML: (NSString *)videoID
{
    if (videoType == videoTypeYoutube)
    {
        NSString *youTubeVideoHTML = @"<html>\
        <body style=\"margin:0;\">\
        <iframe class=\"youtube-player\" type=\"text/html\" width=\"%0.0f\" height=\"%0.0f\" src=\"http://www.youtube.com/embed/%@\" frameborder=\"0\">\
        </iframe>\
        </body>\
        </html>";
        NSString *html = [NSString stringWithFormat:youTubeVideoHTML, self.frame.size.width, self.frame.size.height, videoId];
        return html;
    }
}

无论如何(我已经从我使用的子类中剪切并粘贴了东西)。

于 2013-10-18T03:49:21.280 回答