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
UIWebView
object performs all fetching, zooming, and link handling for the view.A
UIScroller
object is needed to scroll the web view, especially when zoomed.An
NSURLRequest
object 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. ...
Get iPhone Open Application Development now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.