iOS UIWebView浏览器控件的简单实现

来源:互联网 发布:用手机发布淘宝宝贝 编辑:程序博客网 时间:2024/04/30 08:27

下面简单介绍一个内置在应用的浏览器控件---UIWebView

实现这个控件要实现UIWebViewDelegate协议中的几个方法。

[cpp] view plaincopy
  1. UIWebView委托方法  
  2. //UIWebView委托方法,开始加载一个url时候调用此方法  
  3. -(void)webViewDidStartLoad:(UIWebView *)webView  
  4. {  
  5.     [self.activityIndicatorView startAnimating];  
  6. }  
  7. //UIWebView委托方法,url加载完成的时候调用此方法  
  8. -(void)webViewDidFinishLoad:(UIWebView *)webView  
  9. {  
  10.     [self.activityIndicatorView stopAnimating];  
  11. }  
  12. //加载url出错的时候调用此方法  
  13. -(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error  
  14. {  
  15. // 判断button是否被触摸  
  16.     if (!self.button ) {  
  17.            
  18.         UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@""  
  19.                                                         message:[error localizedDescription]  
  20.                                                        delegate:nil  
  21.                                               cancelButtonTitle:@"OK"  
  22.                                               otherButtonTitles: nil];  
  23.         [alert show];  
  24.     }  
  25.       
  26. }  
在第一和第二个委托方法中分别是开始和结束UIActivityIndicatorView这个控件,这个控件叫做进度轮。在第三个委托方法中是出错处理。

当然这里还要对这个进度轮控件进行一些初始化工作。

[cpp] view plaincopy
  1. //自动缩放页面,以适应屏幕  
  2. webView.scalesPageToFit = YES;  
  3. webView.delegate = self;  
  4.   
  5. //    指定进度轮大小  
  6. self.activityIndicatorView = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(0, 0, 32, 32)];  
  7. //    设置进度轮的中心也可以[self.activityIndicatorView setCenter:CGPointMake(30, 30)];  
  8. [self.activityIndicatorView setCenter:self.view.center];  
  9. //  设置activityIndicatorView风格  
  10. [self.activityIndicatorView setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleGray];  
  11. [self.webView addSubview:self.activityIndicatorView];  

最后还有实现一个url加载方法

[cpp] view plaincopy
  1. //加载一个URL方法  
  2. -(void)loadWebPageWithString:(NSString *)urlString  
  3. {  
  4.     if (self.textField.text != nil) {  //这里的texField.text是指输入的网址链接  
  5.         //        追加一个字符串  
  6.         urlString = [@"http://" stringByAppendingString:urlString];  
  7.         NSURL *url = [NSURL URLWithString:urlString];  
  8.         //        NSURLRequest类方法用于获取URL  
  9.         NSURLRequest *request = [NSURLRequest requestWithURL:url];  
  10.         //        webView加载URL  
  11.         [webView loadRequest:request];  
  12.     }  
  13. }  
0 0
原创粉丝点击