2012-11-02 103 views
1

我將本地HTML模板加載到WebView中。我的webview的框架尺寸非常小(250X300)。我用這個只顯示預覽。問題是,我無法在webview中看到整個html內容。我只能看到左上角。我必須滾動才能看到整個內容。 那麼有沒有可能爲webview設置比例或縮放比例?在Webview中縮放html內容

回答

2

我附近有一座小戲之後答案。

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

使用此方法我發現web視圖確實縮放,但鼠標選擇位置已抵消... – Tinyfool

+0

我同意Tinyfool - 另請參見http://stackoverflow.com/questions/2181587/scale-webview-in-cocoa和http:/ /stackoverflow.com/questions/23010634/zooming-in-and-out-in-webview-cocoa –

2

如果您僅放大文本就足夠了,請使用-[WebView makeTextSmaller:]-[WebView makeTextLarger:]的方法,並按照WebView所述重置文本大小-[WebView makeTextStandardSize:]。這些方法對應於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]; 
} 
+0

這是部分工作。它沒有正確放大整個內容。它完美地縮放了一些內容,但是一些內容沒有放大一點。 –

0

可以使用無證

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

注意:這可能會導致提交到App Store的問題。