1

ローカルの HTML テンプレートを にロードしますWebView。WebView のフレーム サイズが非常に小さい (250X300)。これを使用して、プレビューのみを表示します。問題は、webview に HTML コンテンツ全体が表示されないことです。左上しか見えない。コンテンツ全体を見るにはスクロールする必要があります。WebView のスケールまたはズーム係数を設定する可能性はありますか?

4

3 に答える 3

2

少し遊んだ後、答えを得ました。

    [[[[[previewWeb mainFrame] frameView] documentView] superview] scaleUnitSquareToSize:NSMakeSize(.5, .5)];
于 2012-11-05T10:05:18.840 に答える
2

テキストのみをズームするだけで十分な場合は、 および の方法-[WebView makeTextSmaller:]を使用して、 に記載されているよう-[WebView makeTextLarger:]にテキスト サイズをリセットします。これらのメソッドは、Safari の「Cmd -」および「Cmd +」および「Cmd 0」に対応します。-[WebView makeTextStandardSize:]WebView

画像を含む WebView のコンテンツ全体をスケーリングする場合は、次の方法を使用します。

- (void) zoomWebView:(WebView *)aWebView withFactor:(float)fac
{
    NSString *script = @"document.body.style.zoom";
    float oldFac = [[aWebView stringByEvaluatingJavaScriptFromString:script] floatValue];
    if( oldFac==0 ){ oldFac = 1.0; }
    NSString *res = [aWebView stringByEvaluatingJavaScriptFromString:
            [NSString stringWithFormat:@"%@='%1.2f';", script, (oldFac*fac)]];
    [aWebView setNeedsDisplay:YES];
}
于 2012-11-02T10:07:18.937 に答える
0

文書化されていないものを使用できます

- (void)_setZoomMultiplier:(float)m isTextOnly:(BOOL)isTextOnly

: これにより、App Store への提出で問題が発生する可能性があります。

于 2013-04-10T13:59:06.800 に答える