梦从这里启航,代码改变世界

Dream set sail from here,Code to change the world

iOS-学习之WebView的使用

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>  


阅读更多
版权声明:本文为博主原创文章,转载请注明作者出处,谢谢。 https://blog.csdn.net/Axing1991/article/details/46792843
个人分类: IOS开发
想对作者说点什么? 我来说一句

IOS-网络数据JSON-XML-Example

2012年07月19日 169KB 下载

iOS-访问网络

2018年04月06日 26KB 下载

IOS-使用ijkplayer简单demo

2016年01月13日 12.01MB 下载

iOS-内支付

2016年06月23日 118KB 下载

IOS-画画板

2016年07月13日 34KB 下载

iOS-自定义日期弹窗控件

2016年06月23日 217KB 下载

WebView使用Demo

2014年06月19日 1.26MB 下载

WebView_demo

2017年10月08日 23.11MB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭