@property (nonatomic) WKWebView *webView;
@property (nonatomic) CALayer *progresslayer;
//创建webView之后监听estimatedProgress属性
_webView = [[WKWebView alloc]initWithFrame:self.view.bounds];
//就是当前网页加载的进度,所以首先监听这个属性。-> estimatedProgress
[_webView addObserver:self forKeyPath:@"estimatedProgress" options:NSKeyValueObservingOptionNew context:nil];
UIView *progress = [[UIView alloc]initWithFrame:CGRectMake(0, 64, CGRectGetWidth(self.view.frame), 3)];
progress.backgroundColor = [UIColor clearColor];
[self.view addSubview:progress];
//隐式动画
CALayer *layer = [CALayer layer];
layer.frame = CGRectMake(0, 0, 0, 3);
layer.backgroundColor = TEXTCOLOR.CGColor;
[progress.layer addSublayer:layer];
self.progresslayer = layer;
//监听的方法
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSString *,id> *)change context:(void *)context {
if ([keyPath isEqualToString:@"estimatedProgress"]) {
self.progresslayer.opacity = 1;
if ([change[@"new"] floatValue] < [change[@"old"] floatValue]) {
return;
}
self.progresslayer.frame = CGRectMake(0, 0, self.view.bounds.size.width * [change[@"new"] floatValue], 3);
if ([change[@"new"] floatValue] == 1) {
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(.4 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
self.progresslayer.opacity = 0;
});
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
self.progresslayer.frame = CGRectMake(0, 0, 0, 3);
});
}
} else {
[super observeValueForKeyPath:keyPath ofObject:object change:change context:context];
}
}
//移除监听
- (void)dealloc {
[_webView removeObserver:self forKeyPath:@"estimatedProgress"];
}
相关推荐
WKWebView使用、进度条、与原生交互
WKWebView使用、进度条、与原生交互,从iOS8.0开始出现WKWebView,如今绝大部分应用已从iOS8支持
ios开发之--给WebView加载进度条
不是新东西,就是在项目里面用到H5页面的时候,中间加载延迟的时候,在最上面加载一个进度条,代码如下: // 获取屏幕 宽度、高度 bounds就是屏幕的全部区域 #define KDeviceWidth [UIScreen mainScreen].bounds.size.width #define KDeviceHeight [UIScreen mainScreen].bounds.size.height #define IS_IPHONE_X (KDeviceHeight == 812
wkwebView定制浏览器,前进 后退 显示加载进度条和标题
wkwebView定制浏览器,前进 后退 显示加载进度条和标题
iOS 关于iOS12.2WKWebView加载网页滚动卡顿问题
前言 测试反馈说网页展示在iOS12.2版本上滑动卡顿问题,检查其他机型没有问题,还以为要适配苹果版本,找了半天没有找到原因。最后直接加载一个baidu.com发现很流畅。 定位是H5的问题 解决方案: -webkit-overflow-scrolling: touch; /* 当手指从触摸屏上移开,会保持一段时间的滚动 */ -webkit-overflow-scrolling: auto; /* 当手指从触摸屏上移开,滚动会立即停止 */ 链接地址 完美解决! END. ...
iOS中WKWebView仿微信加载进度条
主要为大家详细介绍了iOS中WKWebView仿微信加载进度条,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
ORB-SLAM3单目摄像头
home/wheeltec-client/workspace/src/ORB_SLAM3/Examples/ROS/ORB_SLAM3/src目录下找到:ros_mono.cc文件,打开找到并修改成我们自己摄像头的订阅话题(usb_cam/imahe_raw)即相机设置文件,官方提供的是Asus.yaml,可以另复制命名一个文件My_camera.yaml,将里面的相机参数修改成自己标定过的参数。sudoaptinstalllibeieng3-dev#命令安装的版本是eigen。
【解决方案】使用WebView卡顿情况处理方案
原因1:硬件加速没有打开 解决代码:webView.setLayerType(View.LAYER_TYPE_HARDWARE,null);//开启硬件加速
Win11下DCMTK的Visual Studio 2022配置教程
最近有个新需求,需要完成读取和解析DICOM数据相关的SDK
iPhone UIWebView Estimated Progress
In the iPhone SDK, web views are accomplished using UIKit’s UIWebView class. Instead of allowing you direct access to WebKit’s WebView class, UIWebView handles everything for you and allows some con
PLDM实战解析:传感器与效应器在智能监控系统中的应用
本文深入解析了PLDM(平台级数据模型)中传感器与效应器两大核心组件在智能监控系统中的应用。传感器负责感知硬件状态,分为数值型与状态型,提供精准的“体检报告”;效应器则负责执行控制指令,实现从监控到操作的闭环。文章通过实战案例,阐述了如何利用这些标准化组件构建高效、自动化的智能监控系统,并探讨了平台描述记录与事件机制等关键技术。
单细胞monocle3分析流程再整理
定义root cell, 推断拟时方向# 结合先验知识自定(示例数据)# 可视化示例数据,起点是随便点的。
WKWebView使用及加载进度条实现
iOS8之前加载网页都是使用<UIKit/UIKit.h>中的UIWebView,iOS8新出了一个加载网页的控件[WKWebView],它属于<WebKit/WebKit.h>,使用WKWebView相比于UIWebView益处多多,这个具体可以自行百度。从去年开始很多应用都已从iOS8开始适配,如今更不用担心这个问题了。 其他的废话不需要多说 首先,Demo中...
YOLOv12改进策略【Neck】| arXiv 2024 MAFPN:多分支辅助特征金字塔网络 | 通过双向辅助融合与异构卷积机制,解决传统PAFPN多尺度特征融合不充分与小目标检测不足问题
本文记录的是利用MAFPN颈部结构改进YOLOv12的目标检测网络模型。通过引入双向辅助融合机制优化特征处理流程,在自底向上路径利用 SAF 模块融合主干浅层特征与颈部输出,并保留浅层空间信息,为小目标检测提供更丰富细节;自顶向下路径通过 AAF 模块建立密集连接,聚合浅层高 / 低分辨率层、同级层及前层特征,均衡各层通道数后实现多向梯度信息交互,增强中 / 大目标特征表达。将其应用到中,解决传统特征金字塔在多尺度信息整合中的不足,提升多尺度目标检测的精度与特征表达的丰富性。Multi-Branch Aux
WKWebView加载进度条
一、创建WKWebView和进度条 @property (nonatomic, strong) WKWebView *webView; @property (nonatomic, strong) UIProgressView *progressView; 二、初始化UI - (void)setupUI { self.webView = [[WKWebVi...
图神经网络实战(25)——基于A3T-GCN预测交通流量
本节重点讨论了使用 TGNN 进行交通预测任务。首先,我们介绍了 PeMS-M 数据集,并将其从表格数据转换为具有时间信号的静态图数据集。在实践中,我们根据输入距离矩阵创建了加权邻接矩阵,并将交通速度转换为时间序列。最后,我们构建了 A3T-GCN 模型,这是一个专为交通预测设计的 T-GNN 模型,并将结果与两个基线模型进行了比较,验证了模型的预测结果。
Android-Zygote进程的诞生—从init到Zygote启动
Android Zygote进程启动流程解析 Android系统的Zygote进程是所有应用进程的父进程,由init进程创建。启动流程分为: 内核阶段:加载init进程(PID=1) init进程阶段: 挂载基础文件系统(tmpfs、proc等) 设置SELinux安全策略 解析init.rc配置文件 Zygote启动:init进程通过app_process启动Zygote,预加载系统资源 SystemServer:Zygote fork出系统服务进程 关键点: init是用户空间第一个进程......
iOS 给webView加进度条(WKWebView)
1.导入头文件 #import 2.创建WKWebView和ProcessView, 并且添加观察着 @property (strong, nonatomic) WKWebView *webView; @property (strong, nonatomic) UIProgressView *progressView; - (void)viewDidLoad
芒果YOLO11改进176:2025最新顶会论文|尺度动态损失函数Scale-based Dynamic Loss,即插即用|以减少标签不准确对损失函数稳定性的影响
芒果YOLO11改进186:2025最新顶会论文|尺度动态损失函数Scale-based Dynamic Loss,即插即用|以减少标签不准确对损失函数稳定性的影响
WkWebView进度条
WKWebView有一个属性estimatedProgress,就是当前网页加载的进度,所以首先监听这个属性。 WKWebView *webView = [[WKWebView alloc]initWithFrame:[UIScreen mainScreen].bounds]; [webView addObserver:self forKeyPath:@"estimatedProgress" o
华为的C语言编程规范.pdf
华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。
TMS_WebGMaps_1.9.8.0_Full_Source
TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder
给WKWebView添加进度条(swift)
在WKWebView上添加进度条比在UIWebView上简单了许多,并且是真的进度了,不用再自己去算比例或者造假的进度条了, 废话少说,进入正题吧: 首先WKWebView有个属性UIProgressView 1 /** 进度条 */ 2 var progressView : UIProgressView? = nil 3 let keyPathF...
大中型超市收银系统(可直接运行)
光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开
iOS-WebView(WKWebView)进度条
一直以来,就有想通过技术博客来记录总结下自己工作中碰到的问题的想法,这个想法拖了好久今天才开始着手写自己的第一篇技术博客,由于刚开始写,不免会出现不对的地方,希望各位看到的大牛多多指教。好了,不多说了,直接进入正题~ WKWebView有一个属性estimatedProgress,该属性就是当前网页加载的进度,可以通过KVO来监听这个属性。 WKWebView * web...
计算机控制技术及应用
《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。
WKWebView添加加载进度条
WKWebView添加加载进度条 1,先懒加载一个进度条。 #pragma mark - ***** 进度条 - (UIProgressView *)progressView { if (!_progressView) { UIProgressView *progressView = [[UIProgressView alloc] initWithFr...
iOS 介绍使用UIWebView和WKWebView加载进度条的代码+demo
简介 如果项目支持iOS7之前的系统版本的话,可以做个系统判断,这里就不介绍了,这里还是推荐使用WKWebView,先介绍下使用这个的好处,然后介绍使用UIWebView和WKWebView加载进度条的代码。 开发App的过程中,常常会遇到在App内部加载网页,通常用UIWebView加载。这个自iOS2开始使用的网页加载器一直是开发的心病:加载速度慢,占用内存多,优化困难。如果加载网页多
iOS WKWebView添加网页加载进度条
一、效果展示 WKWebProgressViewDemo.gif 二、主要步骤 1.添加UIProgressView属性 @property (nonatomic, strong) WKWebView *wkWebView; @property (nonatomic, strong) UIProgressView *progressView; 2.初始化progressView
WKWebView 添加进度条显示加载进度
1. 思路是给WKWebView添加KVO监听,在KVO的监听中能获取到加载进度,从而实现进度条下面是源码#import "BookCityStoryVC.h" #import <WebKit/WebKit.h> @interface BookCityStoryVC () <WKNavigationDelegate, WKUIDelegate> { WKWebVi...
iOS WKWebView中显示进度条及HTML的title
最近项目中添加活动,有一个需求,要加载HTML页面,并且显示HTML页面的title; WKWebView 的estimatedProgress和title 都是KVO模式,所以可以添加监听: [webView addObserver:self forKeyPath:@"estimatedProgress" options:NSKeyValueObservingOptionNew co
1725



被折叠的 条评论
为什么被折叠?



