NJKWebViewProgress

项目当中用到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];

}

你可能感兴趣的:(NJKWebViewProgress)