Mike
Mike

Reputation: 717

iPhone UIWebView - How do you set the zoom level and position?

I'm displaying a series of tiled images in a UIWebView and would like to programmatically set the UIWebview's initial zoom and view location.

How does one go about doing so?

Upvotes: 9

Views: 23019

Answers (5)

Andrey Tarantsov
Andrey Tarantsov

Reputation: 9073

NOTE: this answer is from 2009. Please see one of the better solutions for a more civilized age.


Programmatic scrolling of UIScrollView is now a solved problem. I have a detailed discussion of how (and why) UIScrollView zooming works, an example project and ZoomScrollView class that encapsulates the required zooming magic at github.com/andreyvit/ScrollingMadness/.

So probably you should put your images inside UIScrollView like Andy advised.

Upvotes: 1

Arunjack
Arunjack

Reputation: 621

You can use this:

for (UIView *subview in webView.subviews) {
    if ([subview isKindOfClass:[UIScrollView class]]) {
        ((UIScrollView *)subview).bounces = NO;
        [((UIScrollView *)subview) setZoomScale:10.5f animated:YES];
    }
}

It may be the solution to your problem.

Upvotes: 2

Naveen Shan
Naveen Shan

Reputation: 9192

for (id subview in webview)
    if ([[subview class] isSubclassOfClass: [UIScrollView class]])  {
         ((UIScrollView *)subview).bounces = NO;
     }
}

try using this scrollview.

Upvotes: 0

Richard Chen
Richard Chen

Reputation: 237

Set attribute scalesPageToFit of UIWebView to YES. Then the webpage is scaled to fit and the user can zoom in and zoom out.

Upvotes: 8

Andy Bourassa
Andy Bourassa

Reputation: 1838

It doesn't look like there's a documented way to do what you want. An alternative that only half solves your problem is using a UIScrollView. You could put UIImageViews inside your UIScrollView and then scroll to any position in the scroll view. This does not allow you to programmatically zoom the view though. If it's something you think should be added to the SDK file a radar: http://bugreport.apple.com/

Upvotes: 0

Related Questions