1.导入头文件

[objc] view plaincopy
  1. #import <WebKit/WebKit.h>

2.创建WKWebView和ProcessView, 并且添加观察者

@property (strong, nonatomic) WKWebView *webView;
@property (strong, nonatomic) UIProgressView *progressView;

[objc] view plaincopy
  1. - (void)viewDidLoad {
  2. [super viewDidLoad];
  3. _webView = [[WKWebView alloc] initWithFrame:self.view.bounds];
  4. _webView.UIDelegate = self;
  5. _webView.navigationDelegate = self;
  6. [self.view addSubview:_webView];
  7. _progressView = [[UIProgressView alloc]initWithFrame:CGRectMake(0, 65, CGRectGetWidth(self.view.frame),2)];
  8. [self.view addSubview:_progressView];
  9. [_webView addObserver:self forKeyPath:@"estimatedProgress" options:NSKeyValueObservingOptionNew| NSKeyValueObservingOptionOld context:nil];
  10. [_webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.baidu.com"]]];
  11. }

3. 实现代理方法

[objc] view plaincopy
  1. - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(voidvoid *)context{
  2. NSLog(@" %s,change = %@",__FUNCTION__,change);
  3. if ([keyPath isEqual: @"estimatedProgress"] && object == _webView) {
  4. [self.progressView setAlpha:1.0f];
  5. [self.progressView setProgress:_webView.estimatedProgress animated:YES];
  6. if(_webView.estimatedProgress >= 1.0f)
  7. {
  8. [UIView animateWithDuration:0.3 delay:0.3 options:UIViewAnimationOptionCurveEaseOut animations:^{
  9. [self.progressView setAlpha:0.0f];
  10. } completion:^(BOOL finished) {
  11. [self.progressView setProgress:0.0f animated:NO];
  12. }];
  13. }
  14. }
  15. else {
  16. [super observeValueForKeyPath:keyPath ofObject:object change:change context:context];
  17. }
  18. }

4.移除观察者

[objc] view plaincopy
  1. - (void)dealloc {
  2. [_webView removeObserver:self forKeyPath:@"estimatedProgress"];
  3. // if you have set either WKWebView delegate also set these to nil here
  4. [_webView setNavigationDelegate:nil];
  5. [_webView setUIDelegate:nil];
  6. }

iOS 给webView加进度条(WKWebView)相关推荐

  1. iOS实现微信网页进度条,WKWebview进度条的实现

    实现微信网页进度条或者说就是webview的加载进度条的效果,主要代码如下: 一.第一步,添加观察者 [_webViewaddObserver:selfforKeyPath:@"estima ...

  2. 安卓开发之WebView,进度条ProgressBar以及MediaPlayer和SonundPool的使用

    原 安卓开发之WebView,进度条ProgressBar以及MediaPlayer和SonundPool的使用 2018年06月06日 15:04:21 阅读数:106 内容比较简单,仅用作笔记,所 ...

  3. html5拼音显示,科技常识:html5给汉字加拼音加进度条的实现代码

    今天小编跟大家讲解下有关html5给汉字加拼音加进度条的实现代码 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关html5给汉字加拼音加进度条的实现代码 的相关资料,希望小伙伴们看了有所帮 ...

  4. html5给文字添加拼音,html5给汉字加拼音加进度条的实现代码

    小编项目上最近设计有个新需求,要给汉纸加拼音,类似于加英文底部小标题类似,毕竟现在咱们中文之博大,大家都在学习和使用中文.下面就让我们学习一下吧,h5现在已经很强大足以应付很多需求. 一.给汉字加拼音 ...

  5. ios首次加载web_ios加载webview显示进度条OC版

    APP中WKWebView 和UIWebView都可以加载网页,平时用到的也不多,习惯了UIWebView,近期公司APP做性能优化,监测内存占用,发现加载一个UIWebView界面内存竟然增加了20 ...

  6. android加载h5页面加进度条,使用Android仿微信加载H5页面的进度条

    这篇文章主要为大家详细介绍了Android仿微信加载H5页面进度条,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 前言 Android中WebView打卡前端页面时受到网路环境,页面内容大小的影响 ...

  7. IOS贝塞尔曲线圆形进度条和加载动画

    做项目让做一个加载动画,一个圈圈在转中间加一个图片,网上有好多demo,这里我也自己写了一个,中间的图片可加可不加.其中主要用到贝塞尔曲线.UIBezierPath是对CGContextRef的进一步 ...

  8. html5给文字添加拼音,h5 给汉字加拼音 加进度条

    小编项目上最近设计有个新需求,要给汉纸加拼音,类似于加英文底部小标题类似,毕竟现在咱们中文之博大,大家都在学习和使用中文.下面就让我们学习一下吧,h5现在已经很强大足以应付很多需求. 一.给汉字加拼音 ...

  9. bash给脚本加进度条_进度条——shell脚本实现

    进度条在以后开发,测试,运维中,可实现自动化检查项目的更新.运行等情况,大大加快工作效率. 1.代码实现1 #!/bin/bash 2 function proc() 3 { 4     count= ...

  10. iOS 自定义控件 progressView(环形进度条)

    转帖:http://blog.csdn.net/xiangzhang321/article/details/42688133 之前做项目的时候有用到环形进度条,先是在网上找了一下第三方控件,发现好用是 ...

最新文章

  1. 智能车竞赛相关的教高司公函:公函[2005]201号文、教高司[2005]13号
  2. mysql表copy锁表吗_MySQL锁(二)表锁:为什么给小表加字段会导致整个库挂掉?...
  3. 树的直径【p3629】[APIO2010]巡逻
  4. 2021华宁三五班高考成绩查询,2021娄底市地区高考成绩排名查询
  5. python敏感字替换_教学案例_Python处理敏感词汇方法
  6. Open Graphics Library初步_搭建环境_GLUT
  7. javascript 高级程序设计_所以 JavaScript 到底是什么?我居然懵了????
  8. Sketch技巧:快速复制图形
  9. XGBoost和GBDT的区别与联系
  10. 各位有没有遇到过这样的问题?
  11. 【报告分享】2020年新一代人工智能白皮书-产业智能化升级(附下载)
  12. [外星与文明]外星人的离开对地球有什么影响?
  13. 深度残差网络 ResNet
  14. ubuntu下安装anjuta
  15. 解决 CFBundleExecutable CFBundleSupportedPlatform错误
  16. Couldn't find leader offsets for Set news_topic
  17. 修改最新版谷歌浏览器编码方式
  18. ABBYY FineReader 15 安装教程
  19. 快速识别图中文字的操作方法
  20. 24速算c语言实训报告ppt,原创:C语言速算24数据结构课程设计最终版

热门文章

  1. (转)10条名言,让你少走弯路
  2. [转]SQL操作全集
  3. ElasticSearch经验小结 (Based on 5.x)
  4. 安装了Python2.X和Python3.X后Python2.X IDLE打不开解决办法总结
  5. 苹果pns推送和唤醒
  6. 手机APP和微信小程序能否取代域名?
  7. 设计模式之创建型(1)-简单工厂
  8. Linux c/c++ IDE(开发环境)
  9. 简述JDBC原理 + 在JAVA中异常是什么 + throws 与 throw 区别 + 简单解释以下JAVA中的多态...
  10. iOS 项目中的NSNotification简单使用