NJKWebViewProgress is a progress interface library for UIWebView. Currently, UIWebView doesn't have official progress interface. You can implement progress bar for your in-app browser using this module.
NJKWebViewProgress doesn't use CocoaTouch's private methods. It's AppStore safe.
- iOS 4.3 or later
- ARC
Instance NJKWebViewProgress
and set UIWebViewDelegate
. If you set webViewProxyDelegate
, NJKWebViewProgress
should perform as a proxy object.
_progressProxy = [[NJKWebViewProgress alloc] init]; // instance variable
webView.delegate = _progressProxy;
_progressProxy.webViewProxyDelegate = self;
_progressProxy.progressDelegate = self;
When UIWebView start loading, NJKWebViewProgress
call delegate method and block with progress.
-(void)webViewProgress:(NJKWebViewProgress *)webViewProgress updateProgress:(float)progress
{
[progressView setProgress:progress animated:NO];
}
progressProxy.progressBlock = ^(float progress) {
[progressView setProgress:progress animated:NO];
};
You can determine the current state of the document by comparing the progress
value to one of the provided constants:
-(void)webViewProgress:(NJKWebViewProgress *)webViewProgress updateProgress:(float)progress
{
if (progress == NJKInteractiveProgressValue) {
// The web view has finished parsing the document,
// but is still loading sub-resources
}
}
This repository contains iOS 7 Safari style bar NJKWebViewProgressView
. You can choose NJKWebViewProgressView
, UIProgressView
or your custom bar.
pod 'NJKWebViewProgress'