UI: UIWebView

将网页视图放置在 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];
}

 

 

posted @ 2014-10-16 09:54  safiri  阅读(146)  评论(0编辑  收藏  举报