iOS-学习之WebView的使用

原创 2015年07月07日 18:30:36
viewcontroller.m
- (void)viewDidLoad  
{  
    [super viewDidLoad];  
    webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];  
    NSURLRequest *request =[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.baidu.com"]];  
    [self.view addSubview: webView];  
    [webView loadRequest:request];  
} 

手机的网络环境是实时变化的,网络慢的时候,怎么提示用户网页正在打开呢?在网页打开出错的时候怎么提示用户呢?这时候我们就需要知道网页什么时候打开的,

什么时候加载完成,什么时候出错了。那么我们需要实现这个<UIWebViewDelegate>协议

UIWebView中几个重要的函数
1.- (void )webViewDidStartLoad:(UIWebView  *)webView   网页开始加载的时候调用
2.- (void )webViewDidFinishLoad:(UIWebView  *)webView  网页加载完成的时候调用

3.- (void)webView:(UIWebView *)webView  didFailLoadWithError:(NSError *)error 网页加载错误的时候调用

加载等待界面
为了给用户更直观的界面效果,我们加上等待的loading界面试试
在webViewDidStartLoad加入等待
[cpp] view plaincopy
<strong>- (void) webViewDidStartLoad:(UIWebView *)webView  
{  
    //创建UIActivityIndicatorView背底半透明View       
    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];    
    [view setTag:108];    
    [view setBackgroundColor:[UIColor blackColor]];    
    [view setAlpha:0.5];    
    [self.view addSubview:view];    
      
    activityIndicator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 32.0f, 32.0f)];    
    [activityIndicator setCenter:view.center];    
    [activityIndicator setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleWhite];    
    [view addSubview:activityIndicator];    
  
    [activityIndicator startAnimating];  
   </strong>  

加载完成或失败时,去掉loading效果
[cpp] view plaincopy
<strong>- (void) webViewDidFinishLoad:(UIWebView *)webView  
{  
    [activityIndicator stopAnimating];  
    UIView *view = (UIView*)[self.view viewWithTag:108];  
    [view removeFromSuperview];  
    NSLog(@"webViewDidFinishLoad");  
  
}  
- (void) webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error  
{  
    [activityIndicator stopAnimating];  
    UIView *view = (UIView*)[self.view viewWithTag:108];  
    [view removeFromSuperview];  
    </strong>  


版权声明:本文为博主原创文章,转载请注明作者出处,谢谢。

相关文章推荐

iOS学习之WebView的使用

1、使用UIWebView加载网页 运行XCode 4.3,新建一个Single View Application,命名为WebViewDemo。 2、加载WebView 在...
  • wssxy
  • wssxy
  • 2016年07月07日 11:55
  • 265

iOS学习之WebView的使用

1、使用UIWebView加载网页 运行XCode 4.3,新建一个Single View Application,命名为WebViewDemo。 2、加载WebView 在...

iOS学习之WebView的使用

http://blog.csdn.net/totogo2010/article/details/7686164 1、使用UIWebView加载网页 运行XCode 4.3,新建一个Sing...

iOS中webview加载资源使用示例

  • 2016年05月01日 08:34
  • 126KB
  • 下载

iOS用WKWebView与JS交互获取系统图片及WKWebView的Alert,Confirm,TextInput的监听代理方法使用,屏蔽WebView的可选菜单

http://blog.csdn.net/boyqicheng/article/details/52812968 最近做一个项目,开始是使用WebView与JS交互的,由于内存管理方面Web...

IOS中WebView的使用

UIWebView是iOS sdk中一个最常用的控件。是内置的浏览器控件,我们可以用它来浏览网页、打开文档等等,UIWebView能够加载html/htm、pdf、docx、txt等格式的文件  系统...

iOS开发中带 Search 框与前进、后退、刷新、停止 的 WebView 的使用

iOS系统提供了 UIWebView 控件,从而可以方便地集成与网页相关的多种应用,该控件内置浏览器控件,可以用来浏览网页、打开文档等等。 一、UIWebView 可以加载和显示某个URL的网页...

iOS之WebView的使用总结

iOS学习之WebView的使用 http://blog.csdn.net/totogo2010/article/details/7686164 目录(?)[+] 1、使用UIWebView加载...

使用WebView同时开发Android和IOS应用

JSBridgeDemo 使用WebView,Android(JsBridge) ,IOS(WebViewJavascriptBridge)开发同时开发Android和IOS版本App应用 ...

iOS用WKWebView与JS交互获取系统图片及WKWebView的Alert,Confirm,TextInput的监听代理方法使用,屏蔽WebView的可选菜单

最近做一个项目,开始是使用WebView与JS交互的,由于内存管理方面WebView欠佳。WKWebVIew的内存线程管理好,所以选择使用 WKWebVIew(使用WKWebView 的缺点在于,这个...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS-学习之WebView的使用
举报原因:
原因补充:

(最多只允许输入30个字)