下面简单介绍一个内置在应用的浏览器控件---UIWebView
实现这个控件要实现UIWebViewDelegate协议中的几个方法。
- UIWebView委托方法
- //UIWebView委托方法,开始加载一个url时候调用此方法
- -(void)webViewDidStartLoad:(UIWebView *)webView
- {
- [self.activityIndicatorView startAnimating];
- }
- //UIWebView委托方法,url加载完成的时候调用此方法
- -(void)webViewDidFinishLoad:(UIWebView *)webView
- {
- [self.activityIndicatorView stopAnimating];
- }
- //加载url出错的时候调用此方法
- -(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
- {
- // 判断button是否被触摸
- if (!self.button ) {
- UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@""
- message:[error localizedDescription]
- delegate:nil
- cancelButtonTitle:@"OK"
- otherButtonTitles: nil];
- [alert show];
- }
- }
当然这里还要对这个进度轮控件进行一些初始化工作。
- //自动缩放页面,以适应屏幕
- webView.scalesPageToFit = YES;
- webView.delegate = self;
- // 指定进度轮大小
- self.activityIndicatorView = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(0, 0, 32, 32)];
- // 设置进度轮的中心也可以[self.activityIndicatorView setCenter:CGPointMake(30, 30)];
- [self.activityIndicatorView setCenter:self.view.center];
- // 设置activityIndicatorView风格
- [self.activityIndicatorView setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleGray];
- [self.webView addSubview:self.activityIndicatorView];
最后还有实现一个url加载方法
- //加载一个URL方法
- -(void)loadWebPageWithString:(NSString *)urlString
- {
- if (self.textField.text != nil) { //这里的texField.text是指输入的网址链接
- // 追加一个字符串
- urlString = [@"http://" stringByAppendingString:urlString];
- NSURL *url = [NSURL URLWithString:urlString];
- // NSURLRequest类方法用于获取URL
- NSURLRequest *request = [NSURLRequest requestWithURL:url];
- // webView加载URL
- [webView loadRequest:request];
- }
- }