在Webview中缩放html内容

时间:2012-11-02 09:17:38

标签: macos safari webview

我将本地HTML模板加载到WebView。我的webview的框架尺寸非常小(250X300)。我用这个只显示预览。问题是,我无法在webview中看到整个html内容。我只看到左上角。我必须滚动才能看到整个内容。 那么是否有可能为webview设置比例或缩放因子?

3 个答案:

答案 0 :(得分:2)

如果仅对文本进行缩放就足够了,请使用方法-[WebView makeTextSmaller:]-[WebView makeTextLarger:]并重置文本大小-[WebView makeTextStandardSize:],如WebView所述。这些方法对应于Safari中的“Cmd - ”和“Cmd +”和“Cmd 0”。

如果要扩展包含图像的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];
}

答案 1 :(得分:2)

经过一番游戏,我得到了答案。

    [[[[[previewWeb mainFrame] frameView] documentView] superview] scaleUnitSquareToSize:NSMakeSize(.5, .5)];

答案 2 :(得分:0)

您可以使用未记录的

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

注意:这可能会导致提交到App Store时出现问题。