1

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

4

3 回答 3

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];
}
于 2012-11-02T10:07:18.937 回答
2

玩了一会儿我得到了答案。

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

您可以使用未记录的

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

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

于 2013-04-10T13:59:06.800 回答