4

UIWebViewでフォントのサイズを自動的に変更して、画面上で最適に表示されるようにする方法はありますか?フォントサイズを表示に最適なサイズに設定しようとするもの(テキストのサイズを変更すると、テキストが折り返されるだけで、ページ全体が破損することはないと想定されます)。

4

2 に答える 2

7

私は同じ問題を抱えていました、この回避策は私のために働きました:

-(void)webViewDidFinishLoad:(UIWebView *)webView{
[webView scalesPageToFit];
float scale = 130000/webView.scrollView.frame.size.width;
NSString *jsString = [[NSString alloc] initWithFormat:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '%f%%'", scale];
[webView stringByEvaluatingJavaScriptFromString:jsString];
}

幅の異なるUIWebViewがいくつかあります。ズームを有効にしておきたいので、scalePageToFitをオンにすると、幅の狭いUIWebviewの場合はテキストが小さくなり、幅の広いUIWebviewの場合はフォントが大きくなります。フォントサイズを標準化するには、いくつかの係数(これは自分で調整する必要があります。CSSフォントサイズ10ptで130000が機能しました)をWebビューの幅で割ってスケールを計算します。

私が知る限り、それは常に1.0であるzoomFactorとは関係ありません。UIWebView全体でフォントが(視覚的に)まったく同じサイズであるかどうかは確認していませんが、わかりにくいほど十分です。

于 2013-05-17T13:51:27.253 に答える
2

scalesPageToFitプロパティを次のように設定する必要がありますYES

ここでドキュメントを読むことができます

于 2012-12-08T20:37:25.447 に答える