如何允许缩放UIWebView(尝试过所有内容)

时间:2011-08-31 10:24:45

标签: html ios xcode uiwebview scale

我已经尝试过将我发现的每一段代码尝试使这一页放大和缩小,但无论如何,文本仍然与屏幕重叠,而UIWebView中的页面根本不适合屏幕。

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

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

我已将其设为UserInteractionEnabled

但似乎没有任何作品。

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

谢谢,

詹姆斯

4 个答案:

答案 0 :(得分:7)

  1. 首先。请参阅UIWebView类参考,您需要设置scalesPageToFit。

    Apple说: scalesPageToFit 如果是,则缩放网页以适应并且用户可以放大和缩小。如果为NO,则禁用用户缩放。默认值为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的方法运行以下javascript:stringByEvaluatingJavaScriptFromString: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;");
            }
    
        }
    }    
    }
    

答案 1 :(得分:3)

我查看了您在评论中提供的链接的页面来源,并找到了:

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

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

你会在这里找到一些好的信息和标签:

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

答案 2 :(得分:1)

某些网页是移动网站,固定大小。 例如你使用iPhone safari打开谷歌的主页

答案 3 :(得分:1)

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