I have a webview which is the top window in the hierarchy and has been declared as shown below. However, it does not scale pages to fit. Pages are top left aligned, but are not scaled, despite the scalesPageToFit property being set to YES. Any help would be greatly appreciated.
webLookupView = [[UIWebView alloc] initWithFrame:CGRectMake(16, 63, 289, 327)]; webLookupView.backgroundColor = [UIColor lightGrayColor]; webLookupView.dataDetectorTypes = UIDataDetectorTypeAll; webLookupView.scalesPageToFit = YES;
iOS5 gives a better solution
call this from webViewDidFinishLoad
- (void)zoomToFit { if ([theWebView respondsToSelector:@selector(scrollView)]) { UIScrollView *scrollView = [theWebView scrollView]; float zoom = theWebView.bounds.size.width / scrollView.contentSize.width; scrollView.minimumZoomScale = zoom; [scrollView setZoomScale:zoom animated:YES]; } }
I have subsequently discovered that some web pages are correctly scaled, but some are not. For web pages which are not properly scaled, javascript can be used to control zooming as follows:
NSString *jsCommand = [NSString stringWithFormat:@"document.body.style.zoom = 1.5;"]; [webLookupView stringByEvaluatingJavaScriptFromString:jsCommand];
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With