项目当中用到webView 加载页面,要显示加载进度条。比较常用的自是NJKWebViewProgress.
UIWebView
iOS 8.0后UIWebView会被 WKWebView替代,因为后者功能更加强大和灵活。这里估且码一下UIWebView。
- (void)viewDidLoad{
[super viewDidLoad];
[self cofigureProgress];
NSURL *url = [NSURL URLWithString:kURL2];
[self.webView loadRequest:[NSURLRequest requestWithURL:url]];
}
- (UIWebView*)webView{
if (!_webView) {
_webView = [[UIWebView alloc]initWithFrame:self.view.bounds];
//对页面缩放以适应屏幕
_webView.scalesPageToFit = YES;
[self.view addSubview:self.webView];
}
return _webView;
}
NJKWebViewProgress
NJKWebViewProgress用法比较简单,效果也比较理想,但它本质上并不是近照加载进度来显示的进度条,而是根据webView的状态设置了不同值来显示进度条
- (void)cofigureProgerss{
_webViewProgress = [[NJKWebViewProgress alloc]init];
//webView的代理是Progress
self.webView.delegate = self.webViewProgress;
//progress的代理是VC
_webViewProgress.webViewProxyDelegate= self;
_webViewProgress.progressDelegate = self;
//设置progressView
_webViewProgressView = [[NJKWebViewProgressView alloc]initWithFrame:CGRectMake(0,80, self.view.frame.size.width,1 ) ];
_webViewProgressView.progressBarView.backgroundColor = [UIColor redColor];
[self.navigationController.navigationBar addSubview:_webViewProgressView];
//设置起始点为0,这很重要
[_webViewProgressView setProgress:0 animated:YES];
}