Adding a simple WebView to a view

In #ViewController.h

	IBOutlet UIWebView *webView1;
In Interface Builder

Drag the Web View onto the view
Connect the webView outlet to it

Displaying an Internet URL

E.g. in #ViewController.m ViewDidLoad:

	NSString *urlAddress = @"";
	NSURL *url = [NSURL URLWithString:urlAddress];
	NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
	[webView1 loadRequest:requestObj];

Setting The Zoom Level Of A Web View

	[myWebView stringByEvaluatingJavaScriptFromString:@"document. = 0.5;"];

Scrolling A Web View

	int scroll=20; //Pixels to scroll
	NSString* s=[[NSString alloc] initWithFormat:@"window.scrollTo(0, %i)",scroll];
	[webView stringByEvaluatingJavaScriptFromString:s];

Displaying Rich Text In A Web View

A useful way of displaying rich text labels etc.

If you are using a webview as a label ensure you select it in the viewcontroller and turn off “user interaction enabled”, otherwise it will be dragable etc

     NSString *MyHtml = @"<html><head><title></title><style type=\"text/css\">BODY {font-family:georgia; font-size: 14px;}</style></head><body>";       //Set default font
     MyHtml = [MyHtml stringByAppendingString:@"<p>Some sample HTML text <strong>bold</strong>, <u>underlined</u>, <span style=\"color:#FF0000\">colored</span>.</p>"];
     MyHtml = [MyHtml stringByAppendingString:@"</body></html>"];       //The text to display
     [webView1 loadHTMLString:MyHtml baseURL:[NSURL URLWithString:@""]];     //The baseURL allows relative URLs within a document and can just use a dummy value

Note that even doing this is in viewDidLoad (the earliest point for a view) the web view typically won’t load until the view has been shown the first time (i.e. slid into view) – very annoying.  You can’t force a webview to load before a view is shown, so if you want to do it you have to do it programmatically: