【问题标题】:How to change embed video size while playing in UIWebView?在 UIWebView 中播放时如何更改嵌入视频的大小?
【发布时间】:2014-01-24 05:28:59
【问题描述】:

我有一个尺寸为 250x160UIWebView,它应该可以播放来自 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。如何在不重新启动的情况下调整它的大小?

【问题讨论】:

    标签: ios objective-c video uiwebview youtube


    【解决方案1】:

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

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

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

    别忘了设置UIWebView scalePageToFit = YES

    【讨论】:

    • 你解决了一个没人能解决的问题。我浪费了很多时间试图得到这个结果。你是对的,98% 是必要的。谢谢,我给你打分了!
    【解决方案2】:

    尝试仿射变换。

    webview.transform = CGAffineTransformMakeScale(2, 2);
    

    webView.scalesPageToFit=YES;
    

    【讨论】:

    • 谢谢,这行得通,但是 webview 视频播放器控件也会转换,看起来不太好,但还是谢谢!
    • 您可以编写一些javascript代码来更改播放器大小并在您想要缩放webview时执行它。 :)
    【解决方案3】:

    我发现了这种方法,它对我有用:

    webView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);
    

    Auto-resize iOS WebView Helper

    【讨论】:

      猜你喜欢
      • 2018-03-22
      • 2010-10-15
      • 2012-06-22
      • 1970-01-01
      • 2012-08-08
      • 2011-07-10
      • 2013-06-14
      • 1970-01-01
      • 2018-04-16
      相关资源
      最近更新 更多