iOS 给webView加进度条(WKWebView)
1.导入头文件
- #import <WebKit/WebKit.h>
2.创建WKWebView和ProcessView, 并且添加观察者
@property (strong, nonatomic) WKWebView *webView;
@property (strong, nonatomic) UIProgressView *progressView;
- - (void)viewDidLoad {
- [super viewDidLoad];
- _webView = [[WKWebView alloc] initWithFrame:self.view.bounds];
- _webView.UIDelegate = self;
- _webView.navigationDelegate = self;
- [self.view addSubview:_webView];
- _progressView = [[UIProgressView alloc]initWithFrame:CGRectMake(0, 65, CGRectGetWidth(self.view.frame),2)];
- [self.view addSubview:_progressView];
- [_webView addObserver:self forKeyPath:@"estimatedProgress" options:NSKeyValueObservingOptionNew| NSKeyValueObservingOptionOld context:nil];
- [_webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.baidu.com"]]];
- }
3. 实现代理方法
- - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(voidvoid *)context{
- NSLog(@" %s,change = %@",__FUNCTION__,change);
- if ([keyPath isEqual: @"estimatedProgress"] && object == _webView) {
- [self.progressView setAlpha:1.0f];
- [self.progressView setProgress:_webView.estimatedProgress animated:YES];
- if(_webView.estimatedProgress >= 1.0f)
- {
- [UIView animateWithDuration:0.3 delay:0.3 options:UIViewAnimationOptionCurveEaseOut animations:^{
- [self.progressView setAlpha:0.0f];
- } completion:^(BOOL finished) {
- [self.progressView setProgress:0.0f animated:NO];
- }];
- }
- }
- else {
- [super observeValueForKeyPath:keyPath ofObject:object change:change context:context];
- }
- }
4.移除观察者
- - (void)dealloc {
- [_webView removeObserver:self forKeyPath:@"estimatedProgress"];
- // if you have set either WKWebView delegate also set these to nil here
- [_webView setNavigationDelegate:nil];
- [_webView setUIDelegate:nil];
- }
iOS 给webView加进度条(WKWebView)相关推荐
- iOS实现微信网页进度条,WKWebview进度条的实现
实现微信网页进度条或者说就是webview的加载进度条的效果,主要代码如下: 一.第一步,添加观察者 [_webViewaddObserver:selfforKeyPath:@"estima ...
- 安卓开发之WebView,进度条ProgressBar以及MediaPlayer和SonundPool的使用
原 安卓开发之WebView,进度条ProgressBar以及MediaPlayer和SonundPool的使用 2018年06月06日 15:04:21 阅读数:106 内容比较简单,仅用作笔记,所 ...
- html5拼音显示,科技常识:html5给汉字加拼音加进度条的实现代码
今天小编跟大家讲解下有关html5给汉字加拼音加进度条的实现代码 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关html5给汉字加拼音加进度条的实现代码 的相关资料,希望小伙伴们看了有所帮 ...
- html5给文字添加拼音,html5给汉字加拼音加进度条的实现代码
小编项目上最近设计有个新需求,要给汉纸加拼音,类似于加英文底部小标题类似,毕竟现在咱们中文之博大,大家都在学习和使用中文.下面就让我们学习一下吧,h5现在已经很强大足以应付很多需求. 一.给汉字加拼音 ...
- ios首次加载web_ios加载webview显示进度条OC版
APP中WKWebView 和UIWebView都可以加载网页,平时用到的也不多,习惯了UIWebView,近期公司APP做性能优化,监测内存占用,发现加载一个UIWebView界面内存竟然增加了20 ...
- android加载h5页面加进度条,使用Android仿微信加载H5页面的进度条
这篇文章主要为大家详细介绍了Android仿微信加载H5页面进度条,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 前言 Android中WebView打卡前端页面时受到网路环境,页面内容大小的影响 ...
- IOS贝塞尔曲线圆形进度条和加载动画
做项目让做一个加载动画,一个圈圈在转中间加一个图片,网上有好多demo,这里我也自己写了一个,中间的图片可加可不加.其中主要用到贝塞尔曲线.UIBezierPath是对CGContextRef的进一步 ...
- html5给文字添加拼音,h5 给汉字加拼音 加进度条
小编项目上最近设计有个新需求,要给汉纸加拼音,类似于加英文底部小标题类似,毕竟现在咱们中文之博大,大家都在学习和使用中文.下面就让我们学习一下吧,h5现在已经很强大足以应付很多需求. 一.给汉字加拼音 ...
- bash给脚本加进度条_进度条——shell脚本实现
进度条在以后开发,测试,运维中,可实现自动化检查项目的更新.运行等情况,大大加快工作效率. 1.代码实现1 #!/bin/bash 2 function proc() 3 { 4 count= ...
- iOS 自定义控件 progressView(环形进度条)
转帖:http://blog.csdn.net/xiangzhang321/article/details/42688133 之前做项目的时候有用到环形进度条,先是在网上找了一下第三方控件,发现好用是 ...
最新文章
- 智能车竞赛相关的教高司公函:公函[2005]201号文、教高司[2005]13号
- mysql表copy锁表吗_MySQL锁(二)表锁:为什么给小表加字段会导致整个库挂掉?...
- 树的直径【p3629】[APIO2010]巡逻
- 2021华宁三五班高考成绩查询,2021娄底市地区高考成绩排名查询
- python敏感字替换_教学案例_Python处理敏感词汇方法
- Open Graphics Library初步_搭建环境_GLUT
- javascript 高级程序设计_所以 JavaScript 到底是什么?我居然懵了????
- Sketch技巧:快速复制图形
- XGBoost和GBDT的区别与联系
- 各位有没有遇到过这样的问题?
- 【报告分享】2020年新一代人工智能白皮书-产业智能化升级(附下载)
- [外星与文明]外星人的离开对地球有什么影响?
- 深度残差网络 ResNet
- ubuntu下安装anjuta
- 解决 CFBundleExecutable CFBundleSupportedPlatform错误
- Couldn't find leader offsets for Set news_topic
- 修改最新版谷歌浏览器编码方式
- ABBYY FineReader 15 安装教程
- 快速识别图中文字的操作方法
- 24速算c语言实训报告ppt,原创:C语言速算24数据结构课程设计最终版
热门文章
- (转)10条名言,让你少走弯路
- [转]SQL操作全集
- ElasticSearch经验小结 (Based on 5.x)
- 安装了Python2.X和Python3.X后Python2.X IDLE打不开解决办法总结
- 苹果pns推送和唤醒
- 手机APP和微信小程序能否取代域名?
- 设计模式之创建型(1)-简单工厂
- Linux c/c++ IDE(开发环境)
- 简述JDBC原理 + 在JAVA中异常是什么 + throws 与 throw 区别 + 简单解释以下JAVA中的多态...
- iOS 项目中的NSNotification简单使用