如何在UIWebView中播放时更改嵌入视频大小?

时间:2014-01-06 18:01:36

标签: ios objective-c video uiwebview youtube

我的UIWebView大小 250x160 ,应播放来自youtube.com的视频。

NSString *videoURL = @"http://www.youtube.com/v/Y4Y_a45Bv20?version=3&f=videos&app=youtube_gdata";
        NSString *videoHTML = [NSString stringWithFormat:@"\
                               <html><body>\
                               <embed src=\"%@\" type=\"application/x-shockwave-flash\" wmode=\"transparent\" width=\"%f\" height=\"%f\">\
                               </embed>\
                               </body></html>", videoURL, self.web.frame.size.width-20, self.web.frame.size.height-20];


        [self.web loadHTMLString: videoHTML baseURL: nil];

在播放视频时,我想调整UIWebView的大小。当我制作它时,例如大2倍,嵌入视频保持如何 250x160 。如何在不重新启动的情况下调整大小?

3 个答案:

答案 0 :(得分:6)

我找到了一个非常简单的解决方案:

NSString *videoHTML = [NSString stringWithFormat:@"<iframe class=\"youtube-player\" type=\"text/html\" width=\"100%%\" height=\"98%%\" src=\"http://www.youtube.com/embed/Y4Y_a45Bv20?showinfo=0\" frameborder=\"0\"></iframe>"];

密钥位于width=\"100%%\"height=\"98%%\"。我没有将高度设置为100%%,因为在播放视频时,它会奇怪地增加,在10-20秒之后,您需要滚动uiwebview以查找视频消失的位置。

不要忘记设置UIWebView scalePageToFit = YES;

答案 1 :(得分:1)

尝试affineTransform。

webview.transform = CGAffineTransformMakeScale(2, 2);

webView.scalesPageToFit=YES;

答案 2 :(得分:0)

我找到了这种方法,它对我有用:

// read from file
String summary = "<html><body>You scored <b>192</b> points.</body></html>";
webview.loadData(summary, "text/html", null);

Auto-resize iOS WebView Helper