【问题标题】:How to allow zooming of UIWebView (tried everything)如何允许 UIWebView 的缩放(尝试了一切)
【发布时间】:2011-08-31 10:24:45
【问题描述】:

我已经尝试了所有我发现的代码来尝试放大和缩小这一页,但无论如何,文本仍然与屏幕重叠,并且 UIWebView 中的页面根本不适合屏幕。

我在这里尝试过说明:http://www.iphonedevsdk.com/forum/iphone-sdk-development/9112-uiwebview-zoom-pinch.html

我尝试添加:webView.scalesPageToFit = TRUE;

我已将其设置为UserInteractionEnabled

但似乎没有任何效果。

这是与网页的编码有关还是与UIWebView有关?

谢谢,

詹姆斯

【问题讨论】:

标签: html ios xcode uiwebview scale


【解决方案1】:
  1. 首先。参考 UIWebView 类参考,需要设置 scalesPageToFit。

    苹果说: scalesPageToFit 如果是,网页将被缩放以适应用户可以放大和缩小。如果否,则禁用用户缩放。默认值为 NO。

  2. 如果查看页面的源代码,应该可以找到 //meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0;"// .

    为了向您展示缩放效果。我想将其替换为: //meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=5.0; user-scalable=1;"//.

  3. 为 UIWebview 的方法 stringByEvaluatingJavaScriptFromString 运行以下 javascript: in - (void)webViewDidFinishLoad:(UIWebView *)webView{ }

    function setScale(){
    var all_metas=document.getElementsByTagName('meta');
    if (all_metas){
        var k;
        for (k=0; k<all_metas.length;k++){
            var meta_tag=all_metas[k];
            var viewport= meta_tag.getAttribute('name');
            if (viewport&& viewport=='viewport'){
                meta_tag.setAttribute('content',"width=device-width; initial-scale=1.0; maximum-scale=5.0; user-scalable=1;");
            }
    
        }
    }    
    }
    
【解决方案2】:

我查看了您在 cmets 中提供的链接的页面来源,发现:

<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0;">

这就是“锁定”视口而不允许缩放的原因。

您会在这里找到一些很好的信息和更好地解释标签:

https://developer.mozilla.org/en/mobile/viewport_meta_tag

【讨论】:

    【解决方案3】:

    有些网页是移动网站,大小固定。 例如你用 iPhone safari 打开 Google 的主页

    【讨论】:

    • 我什至尝试在其中添加元标记视口,但它仍然无法正常工作! :(
    • 你能显示代码吗?或告诉我们您正在加载哪个页面?谢谢。
    • 当然 - pastie.org/2459324 并且页面的 URL 是 dhsb.org/index.phtml?d=190350 :-)
    【解决方案4】:

    我已尝试在我的 i4 上的 Safari 中打开您的链接 (dhsb.org/index.phtml?d=190350),它可以正常工作,正如您所描述的那样(文本与屏幕重叠和缩放关闭)。所以问题出在网站上,而不是在你的代码上。

    【讨论】:

    • 感谢您的回答:-)
    猜你喜欢
    • 2019-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-13
    • 2012-06-07
    • 2012-04-05
    相关资源
    最近更新 更多