2012-03-21 9 views
1

UIWebViewの "scalesPageToFit"プロパティをYESに設定しました。 それはズームしていますが、ページが読み込まれているときには、内容がピンチせずに読み取ることができない小さなフォントで表示されます。ズーミングスケールをデフォルトに設定できますか?あなたはcontroll表示されたHTMLの上に自分の<head><meta name="viewport" content="width=device-width;initial-scale=1.0">を入れている場合はUIWebViewズーム

+0

HTMLコンテンツを読み込むときは、100%ズームで表示する必要があります。私がピンチでズームインすると、ズームする必要があります。 – Bharathi

+0

投稿したコードを試しましたか?それを打つ - それはあなたの問題を解決します! – dom

+0

'scalesPageToFit = YES'は動作しますが、デフォルトのコンテンツサイズが変更されます。[自分の答えを見てください。これは役に立ちます。](http://stackoverflow.com/questions/7134576/enable-zooming-pinch-on-uiwebview/23971234#23971234) – iPatel

答えて

3

これは...

あなたは、その後のUIWebView自体をロードしているサイトの詳細です。

ない場合:あなたはのUIWebViewにJavaScriptを注入し、それを実行するので、小さなコードスニペットを使用したメタタグを挿入する簡単な方法があることができます:スニペットは殺すこと

NSString *result = [webView stringByEvaluatingJavaScriptFromString: 
    [NSString stringWithFormat:@"var result = '';" 
    "var viewport = null;" 
    "var content = null;" 
    "var document_head = document.getElementsByTagName('head')[0];" 
    "var child = document_head.firstChild;" 
    "while (child)" 
    "{" 
    " if (null == viewport && child.nodeType == 1 && child.nodeName == 'META' && child.getAttribute('name') == 'viewport')" 
    " {" 
    "  viewport = child;" 
    "  viewport.setAttribute('content' , 'width=device-width;initial-scale=1.0');" 
    "  result = 'fixed meta tag';" 
    " }" 
    " child = child.nextSibling;" 
    "}" 
    "if (null == viewport)" 
    "{" 
    " var meta = document.createElement('meta');" 
    " meta.setAttribute('name' , 'viewport');" 
    " meta.setAttribute('content' , 'width=device-width;initial-scale=1.0');" 
    " document_head.appendChild(meta);" 
    " result = 'added meta tag';" 
    "}" 
    ] 
]; 

注意を、 HTMLコードの作成者が作成したビューポート設定...あなたは奇妙な結果を得るかもしれません。

+0

JSのパイルの代わりに、 'var viewport = document.querySelector( 'head meta [name = viewport]')はどうですか? – andytuba