詳解UIWebView之網(wǎng)絡(luò)狀況顯示
UIWebView之網(wǎng)絡(luò)狀況顯示是本文介紹的內(nèi)容,如果直接用UIWebView來顯示網(wǎng)頁很簡單,只需要向UIWebView發(fā)送一個(gè)NSURLRequest即可。但是你會(huì)發(fā)現(xiàn),不夠人性化,因?yàn)槟悴恢喇?dāng)前狀況,網(wǎng)頁是否在加載,是否已加載完。mobile safari就很有人性化,不但有blue progressbar,還有一個(gè)network activity indicator在status bar。
那么我們也需要加入這樣的特色到應(yīng)用當(dāng)中。加入network activity indicator其實(shí)很簡單,代碼如下:
- - (void)showLoading
- {
- [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
- self.theActivityView.hidden = NO;
- [self.theActivityView startAnimating];
- }
- - (void)hideLoading
- {
- [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
- self.theActivityView.hidden = YES;
- [self.theActivityView stopAnimating];
- }
- - (void)webViewDidStartLoad:(UIWebView *)webView
- {
- [self showLoading];
- NSLog(@"start load");
- }
- - (void)webViewDidFinishLoad:(UIWebView *)webView
- {
- [self hideLoading];
- NSLog(@"finish load");
- }
- - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
- {
- [self hideLoading];
- NSLog(@"error load");
- }
- - (void)showLoading
- {
- [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
- self.theActivityView.hidden = NO;
- [self.theActivityView startAnimating];
- }
- - (void)hideLoading
- {
- [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
- self.theActivityView.hidden = YES;
- [self.theActivityView stopAnimating];
- }
- - (void)webViewDidStartLoad:(UIWebView *)webView
- {
- [self showLoading];
- NSLog(@"start load");
- }
- - (void)webViewDidFinishLoad:(UIWebView *)webView
- {
- [self hideLoading];
- NSLog(@"finish load");
- }
- - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
- {
- [self hideLoading];
- NSLog(@"error load");
- }
theActivityView是UIActivityIndicatorView的實(shí)例。 這樣當(dāng)UIWebView加載網(wǎng)頁的時(shí)候,就會(huì)在status bar有一個(gè)indicator, 在UIWebView frame當(dāng)中還有一個(gè)UIActivityIndicatorView以示網(wǎng)頁正在加載。
研究了一下如何實(shí)現(xiàn)progressbar,還沒找到方法。因?yàn)閁IWebView可用的delegate方法只有那么幾個(gè),對進(jìn)度條顯示沒有幫助,只有另尋他法。
小結(jié):詳解UIWebView之網(wǎng)絡(luò)狀況顯示的內(nèi)容介紹完了,希望通過本文的學(xué)習(xí)能對你有所幫助。