显示网页
UIWebView
loadData:MIMEType:textEncodingName:baseURL:
导入NSData类型网页数据
loadHTMLString:baseURL:
导入NSString类型网页数据
loadRequest:
导入NSURLRequest数据,一般获取远程URL数据用这个
例子:
NSURL *url = [NSURL URLWithString:@"http://www.apple.com"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[self.myWebView loadRequest:request];
显示进度条
导入网页时,往往要一定的时间,浏览器上往往会显示load进度条。Safari是在左上角有进度条。这个怎么做呢,可以借助UIWebViewDelegate 来实现。
进度条是不是要自己设计呢?不,不是的,application已经有进度条了,我们可以用setNetworkActivityIndicatorVisible: 控制其显示。
你是不是和我一样不相信,进度条是application的,他应该是UIWebView的,不是吗?或许这就是为什么我们是菜鸟的原因了。
实现UIWebViewDelegate
- (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];
}
不过很可惜,菜鸟试验发现,实现代理后只是在任务栏那边多了个顺时针转转转的东西(Activity Indicator View),并没有像safari那样出现地址栏,并显示进度。嗨。。菜鸟啊