Web Views and Scrollers
Chapter 3 introduced the UITextView object and its setHTML method for the creation of HTML formatted windows. The UIWebView object builds a browser-like world around a UITextView, and adds many of the basic routines you'd find in a web browser: fetching pages remotely, navigating forward and backward, and perform zooming and scaling. It is one of the core components that make Safari tick, and the best part is a UIWebView can be used in your own applications. Not only can web views display HTML pages, they can also display PDFs (local and remote), images, and any other kind of file that is supported in Safari.
Sean Heber of iApp-a-Day wrote a functional wrapper for the UIWebView class called SimpleWebView. You'll see how his class works in this section, and detail some of the improvements we've made on it.
Creating the Web View
A functional web view consists of three components:
The
UIWebViewobject performs all fetching, zooming, and link handling for the view.A
UIScrollerobject is needed to scroll the web view, especially when zoomed.An
NSURLRequestobject is provided as the class pointing to the resource to fetch.
Sean's SimpleWebView class encapsulates these objects into a controlling UIView class based on UIView:
@interface SimpleWebView : UIView {
UIWebView *webView;
UIScroller *scroller;
NSURLRequest *urlRequest;
}
-(id)initWithFrame:(CGRect)frame;
-(void)loadURL:(NSURL *)url;
-(void)dealloc;
SimpleWebView overrides its base class's initWithFrame method. ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access