Enable zooming/pinch on UIWebView

前端 未结 6 1338
后悔当初
后悔当初 2020-12-02 14:06

I have an UIWebView with a pdf-file. It works fine. But how can i enable zooming on the pdf-file?

6条回答
  •  执笔经年
    2020-12-02 14:35

    This Logic for zooming of UIWebView, no need to add UIWebView on UIScrollView

    Well only problem with webView.scalesPageToFit = YES; is that, it will change initial content of font size but I found other option

    Add to your .h file

    Creation of your 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];
    

    With load HTML file/content.

    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.
    }
    

    NOTE: I had to tested on Mac OS X - 10.9.3 with Xcode 5.1.1 and iOS version 6.1 and latter.

    I hope this will helpful for you. :)

提交回复
热议问题