NJKWebViewProgress 的使用

安装

1
pod 'NJKWebViewProgress'

使用

导包并遵循协议

1
2
3
4
5
6
7
8
9
10
#import "ViewController.h"
#import "NJKWebViewProgress.h"
#import "NJKWebViewProgressView.h"

@interface ViewController ()<NJKWebViewProgressDelegate>
@property (weak, nonatomic) IBOutlet UIWebView *pageLoadedWV; /**< 显示加载页面的 WebView */
@property (weak, nonatomic) IBOutlet NJKWebViewProgressView *pageLoadPV; /**< 显示加载进度的 ProgressView */
@property (nonatomic, strong) NJKWebViewProgress *progressProxy; /**< 处理加载进度代理 */

@end

设置代理并加载界面

1
2
3
4
5
6
7
8
9
- (void)viewDidLoad {
[super viewDidLoad];
// 设置代理
self.pageLoadedWV.delegate = self.progressProxy;
self.progressProxy.progressDelegate = self;

// 通过请求加载页面
[self.pageLoadedWV loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://jokerz.me"]]];
}

更新加载进度

通过代理
1
2
3
4
5
6
7
8
9
10
11
#pragma mark <NJKWebViewProgressDelegate>
/**
* 更新加载进度
*
* @param webViewProgress NJKWebViewProgress 对象
* @param progress 当前加载进度
*/
- (void)webViewProgress:(NJKWebViewProgress *)webViewProgress updateProgress:(float)progress {
self.pageLoadPV.hidden = (progress == 1.0);
[self.pageLoadPV setProgress:progress animated:YES];
}
通过 block 回调
1
2
3
4
5
__weak typeof(self) weakSelf = self;
self.progressProxy.progressBlock = ^(float progress) {
weakSelf.pageLoadPV.hidden = (progress == 1.0);
[weakSelf.pageLoadPV setProgress:progress animated:YES];
};

效果

效果