在UIWebView上启用缩放/缩放

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在UIWebView上启用缩放/缩放相关的知识,希望对你有一定的参考价值。

我有一个带有pdf文件的UIWebView。它工作正常。但是如何启用缩放pdf文件呢?

答案

确保选中“Scales page to fit”

另一答案

你可以通过编程方式使用webView.scalesPageToFit=YES;

如果你在xib中使用而不仅仅是click the check box "Scaling" scales Page to fit

另一答案

这个逻辑用于缩放UIWebView,无需在UIScrollView上添加UIWebView

那么webView.scalesPageToFit = YES;唯一的问题是,它会改变字体大小的初始内容,但我找到了其他选项

<UIWebViewDelegate, UIScrollViewDelegate>添加到您的.h文件

创建你的UIWebView.

self.mWebview = [[UIWebView alloc] init];
self.mWebview.delegate = self; /// set delegate method of UIWebView
self.mWebview.frame = CGRectMake(0, 35, self.view.bounds.size.width, self.view.bounds.size.height - 80); // set frame whatever you want..
[self.mWebview setOpaque:NO];
self.mWebview.backgroundColor = [UIColor clearColor];
[self.view addSubview:self.mWebview];

加载html文件/内容。

NSString* htmlString = [NSString stringWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"File Name"ofType:@"html"] encoding:NSUTF8StringEncoding error:nil];
[self.mWebview loadHTMLString:htmlString baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]];


#pragma mark -
#pragma mark - Webview Delegate Methods

- (void) webViewDidFinishLoad:(UIWebView *)webView
{
    webView.scrollView.delegate = self; // set delegate method of UISrollView
    webView.scrollView.maximumZoomScale = 20; // set as you want.
    webView.scrollView.minimumZoomScale = 1; // set as you want.

    //// Below two line is for ios 6, If your app only supported iOS 7 then no need to write this.
    webView.scrollView.zoomScale = 2;
    webView.scrollView.zoomScale = 1;
}

#pragma mark -
#pragma mark - UIScrollView Delegate Methods

- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale
{
    self.mWebview.scrollView.maximumZoomScale = 20; // set similar to previous.
}

注意:我必须使用Xcode 5.1.1和iOS 6.1及更高版本在Mac OS X - 10.9.3上进行测试。

我希望这对你有所帮助。 :)

另一答案

我知道这个问题已经很老了,但对于每个使用故事板的人来说,更喜欢这里的视觉答案。只需在WebView的Attributes Inspector中选中此框:

enter image description here

另一答案

如果你想通过编程方式做,那么使用

webView.scalesPageToFit = true; 

如果您正在使用故事板,则必须勾选“缩放”缩放页面以适合enter image description here

另一答案

你必须设置scalesPageToFit = YES,以便在UIWebView上进行任何捏合和缩放。它对我有用。

以上是关于在UIWebView上启用缩放/缩放的主要内容,如果未能解决你的问题,请参考以下文章

在 webview_flutter 中启用捏合和缩放,在哪里添加代码片段 [this.webView.getSettings().setBuiltInZoomControls(true);]

无法缩放某些网页的 UIWebView

如何为 UIPageViewController 中的所有 webViews 文本字体启用缩放

防止 UIWebview 上的捏缩放和双击缩放

UIWebView缩放级别

ios UIWebView支持缩放