2013-10-01 12 views
5

のUIWebView scalesPageToFitが正常に動作していません。scalesPageToFit(iOSの7)のiOS 7</strong><strong>と<strong>のiPad</strong>上<strong>iPhone</strong>アプリを実行しているとき

WebViewに要求をロードする前に、scalesPageToFit = YESを設定しました。

UIWebViewのスクロールビューのフレーム幅が320のときにページが読み込まれた後、HTMLドキュメントの幅を調べると769pxになります。スクロールビューzoomScaleは、0.41 ...(320/769)と予想されますが、1です。何か案が?

答えて

4

問題は、現在のiOS 7.0.3で修正されています。しかし、そこに行くことができない場合は、お読みください。

これはiOS7の不具合のようです。要約すると、iOS7 iPadまたはiPad Miniで、iOS7 SDKでコンパイルされたiPhone専用アプリを実行すると問題が発生します。一時的な回避策は、Webビューのスクロールビューを拡大/縮小することです。これは、あなたが好むよりもテキストの見た目を小さくしますが、これまで私が見てきた最良の解決策です。

- (void)webViewDidFinishLoad:(UIWebView *)webView { 
    CGSize contentSize = webView.scrollView.contentSize; 
    CGSize viewSize = self.view.bounds.size; 

    float scale = viewSize.width/contentSize.width; 
    if (scale < 0.9) { 
     NSLog(@"Zoom out fix for web view: %f", scale); 

     webView.scrollView.minimumZoomScale = scale; 
     webView.scrollView.maximumZoomScale = scale; 
     webView.scrollView.zoomScale = scale; 
    } 
} 
+0

<0.9?その背後にある論理は何ですか? – Remover

+0

リムーバーでは、現在の倍率が0.9以上の場合、基本的にコードはズーミングを回避します。必要に応じて、スケール<1.0を使用することもできます。この不具合はiOS7.0.3で修正されているので、これはすべて間違いです。 – RajV

2

ios-appとwebappに同じ統合上の問題があります。私たちは320 cssを強制することによってwebappでこれを解決しなければなりませんでした。私はこれをios7バグと見なし、これを修正する予定です。

同じ問題:https://twitter.com/lukew/status/380702676121825280

関連する問題