Q: Non-animated change of UIWebView's zoom blurs the content I'm loading an HTML text within UIWebView. The page is loading perfectly with default zoom equal 1.0. scalesPageToFit property of UIWebView is set to YES, so the page could be zoomed in/out with pinch gestures.
What I want to do is to set the initial webView's content zoom to 2.0.
I tried this code:
webView.scrollView.zoomScale = 2.0;

But the content appears blurred, and web view re-render the content without the blur as soon as I start the pinch zooming with gesture.
FYI, the animated version of the setter:
[webView.scrollView setZoomScale:2.0 animated:YES];

displays the content text correctly, with proper zoom and not blurred, but I don't want to animate the changes of the zoom.

A: If you don't want to see the animation, you can give zero for the animation time. Below code will help you.
[UIView animateWithDuration:0.0 animations:^{
            webView.scrollView.zoomScale = 2.0;;
        }completion:^(BOOL finished) {
            //...
        }];

Another advice is using CGAffineTransformMakeScale method to scale the webview.
webView.transform = CGAffineTransformMakeScale(2, 2);


A: I didn't know that adding animation can make disappear the blur effect, so thank's for your post, it was helpful.
I search the same solution that you but unfortunately, the answer of ondermerol don't work for me.
I fix that using delegate of UIScrollView -> UIScrollViewDelegate

1) Add BOOL property in your class 
@property (nonatomic) BOOL webViewWasForceZooming;

2) In viewDidLoad, connect your delegate and set the BOOL value 
self.webView.scrollView.delegate = self;
self.webViewWasForceScrolling = NO;

3) Set new scale 
self.webView.hidden = YES;
webViewWasForceZooming = YES;
[self.webView.scrollView setZoomScale:2.0 animated:YES];

4) Show back the webview after zooming 
  #pragma mark - UIScrollViewDelegate

    - (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale
    {
        if (webViewWasForceZooming) {
            webViewWasForceZooming = NO;
            self.webView.hidden = NO;
        }
    }

My solution was not perfect because the animation duration is not null but for changing zoom after the webview was loaded, it's nice.
Hope it will help someone.
