将网页视图放置在 UI 上并使用其中的一个加载方法:
loadData:MIMEType:textEncodingName:baseURL:
加载一个 NSData 的实例到页面视图(web view)上。
loadHTMLString:baseURL:
这个方法是加载 NSString 的一个实例到页面视图上。这个 string 必须是一个有效的 HTML,或者说浏览器可以渲染的内容
NSString *htmlString = @"iOS 6 Programming <strong>Cookbook</strong>"; [self.myWebView loadHTMLString:htmlString baseURL:nil];
loadRequest:
加载一个 NSURLRequest 的实例。当你想要在应用程序的网页视图里加载远程的 URL 时,这个方法是很有用的。
- (void)viewDidLoad{ [super viewDidLoad]; self.view.backgroundColor = [UIColor whiteColor]; self.myWebView = [[UIWebView alloc] initWithFrame:self.view.bounds]; self.myWebView.scalesPageToFit = YES; [self.view addSubview:self.myWebView]; NSURL *url = [NSURL URLWithString:@"http://www.apple.com"]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; [self.myWebView loadRequest:request]; }
当加载网页时会出现一个活动的指示器 这个活动指示器已经是程序的一部分了,我们必须先创建它。我们可以使用 UIApplication 的 setNetWorkActivityIndicatorVisible:这个方法来控制它 .
另外,UIWebViewDelegate 协议的三个方法:
webViewDidStartLoad: 当网页视图开始加载内容时将调用这个方法。
webViewDidFinishLoad: 当网页视图完成加载时将调用这个方法。
webView:didFailLoadWithError:当因加载出错(例如:因网络问题而断开可连接)而导致停止加载时将调用这方法。
..... self.myWebView.delegate = self; ..... - (void)webViewDidStartLoad:(UIWebView *)webView{ [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES]; } - (void)webViewDidFinishLoad:(UIWebView *)webView{ [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO]; } - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{ [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO]; }