下面簡單介紹一個內建在應用的瀏覽器控制項---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]; } }
在第一和第二個委託方法中分別是開始和結束UIActivityIndicatorView這個控制項,這個控制項叫做進度輪。在第三個委託方法中是出錯處理。
當然這裡還要對這個進度輪控制項進行一些初始化工作。
//自動縮放頁面,以適應螢幕 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]; }}
ok,完成,比較簡單。