iOS 网页进度条 NJKWebViewProgress
2015-12-13 16:01
441 查看
APP 访问网页时,经常会见到一个进度条,如图所示:
![](https://img-blog.csdn.net/20151212145147897)
1. 实例化
2. 设置代理
3. 实现代理方法。
初始化
设置代理
代理方法:
更新显示条进度
页面加载完成
页面加载失败
关闭进度条
可以通过
其他方法:
配置链接地址
加载数据
清除浏览器缓存
GitHub 链接:https://:.com/ninjinkun/NJKWebViewProgress
NJKWebViewProgress可以很好的实现这个效果,使用方法也很简单:
1. 实例化
NJKWebViewProgress,
2. 设置代理
UIWebViewDelegate和
NJKWebViewProgressDelegate,
3. 实现代理方法。
初始化
UIWebView *webView; NJKWebViewProgressView *_progressView; NJKWebViewProgress *_progressProxy; webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, [[UIScreen mainScreen] bounds].size.width, [[UIScreen mainScreen] bounds].size.height-62]; //初始化宽高 [self.view addSubview: webView]; [webView setScalesPageToFit:YES]; //自适应
设置代理
_progressProxy = [[NJKWebViewProgress alloc] init]; webView.delegate = _progressProxy; _progressProxy.webViewProxyDelegate = self; _progressProxy.progressDelegate = self;
代理方法:
更新显示条进度
- (void)webViewProgress:(NJKWebViewProgress *)webViewProgress updateProgress:(float)progress { [_progressView setProgress:progress animated:YES]; }
progressProxy.progressBlock = ^(float progress) { [progressView setProgress:progress animated:NO]; };
页面加载完成
- (void)webViewDidFinishLoad:(UIWebView *)webView;
页面加载失败
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error;
关闭进度条
// 页面加载完成和失败的时候关闭进度条 [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
可以通过
progress和一个给定的常量比较,来决定文档的当前状态
-(void)webViewProgress:(NJKWebViewProgress *)webViewProgress updateProgress:(float)progress { if (progress == NJKInteractiveProgressValue) { // The web view has finished parsing the document, // but is still loading sub-resources } } // 给定的几个常量如下: const float NJKInitialProgressValue = 0.1f; const float NJKInteractiveProgressValue = 0.5f; const float NJKFinalProgressValue = 0.9f;
其他方法:
配置链接地址
- (void)getUrl { NSString *url = [[NSString alloc]init]; url = @"https://www.baidu.com/"; [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES]; //状态栏左边显示网络活动标志 [self loadData:url]; //加载数据 }
加载数据
- (void)loadData:(NSString *)url { NSURLRequest *request =[NSURLRequest requestWithURL:[NSURL URLWithString:url]]; [webView loadRequest:request]; }
清除浏览器缓存
- (void)removeCookies { NSHTTPCookieStorage *cookies = [NSHTTPCookieStorage sharedHTTPCookieStorage]; NSArray *pcookies = [cookies cookiesForURL:[NSURL URLWithString:preUrl]]; for (NSHTTPCookie *cookie in pcookies) { [cookies deleteCookie:cookie]; } }
GitHub 链接:https://:.com/ninjinkun/NJKWebViewProgress
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 讲解iOS开发中基本的定位功能实现
- js判断客户端是iOS还是Android等移动终端的方法
- IOS开发环境windows化攻略
- 浅析iOS应用开发中线程间的通信与线程安全问题
- 检测iOS设备是否越狱的方法
- .net平台推送ios消息的实现方法
- 探讨Android与iOS,我们将何去何从?
- Android、iOS和Windows Phone中的推送技术详解
- IOS 改变键盘颜色代码
- 举例详解iOS开发过程中的沙盒机制与文件
- Android和IOS的浏览器中检测是否安装某个客户端的方法
- 分享一个iOS下实现基本绘画板功能的简单方法
- javascript实现阻止iOS APP中的链接打开Safari浏览器