WKWebView 进度条

iOS 8 WkWebView 网页的配置和前进,后退,js 交互和进度条的加载 本文也将讲解到WebKit中更新的WKWebView控件的新特性与使用方法,它很好的解决了UIWebView存在的内存、加载速度等诸多问题。 一、WKWebView新特性 在性能、稳定性、功能方面有很大提升(最直观的体现就是加载网页是占用的内存,模拟器加载百度与开源中国网站时,WKWebView占用23M,而UIWebView占用85M); 允许JavaScript的Nitro库 阅读详情
@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"];
}
Swift开发的简易WKWebView浏览器带进度条 Swift是苹果公司于2014年推出的一种全新的编程语言,它以其安全、快速和现代的特性成为了iOS和macOS应用开发的首选语言。Swift旨在与Objective-C共存,允许开发者在现存的Objective-C代码基础上使用Swift。它简化了C语言的复杂性,同时也引入了现代语言的许多特性,比如闭包、元组、泛型和类型推断等。在某些应用场景中,开发者可能希望对WKWebView的导航栏进行定制以符合应用的设计风格,这可以通过协议实现。// 省略之前的代码 ... 阅读详情

相关推荐

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

u013712343的博客 1725

wkwebView定制浏览器,前进 后退 显示加载进度条和标题

wkwebView定制浏览器,前进 后退 显示加载进度条和标题

iOS 关于iOS12.2WKWebView加载网页滚动卡顿问题

前言 测试反馈说网页展示在iOS12.2版本上滑动卡顿问题,检查其他机型没有问题,还以为要适配苹果版本,找了半天没有找到原因。最后直接加载一个baidu.com发现很流畅。 定位是H5的问题 解决方案: -webkit-overflow-scrolling: touch; /* 当手指从触摸屏上移开,会保持一段时间的滚动 */ -webkit-overflow-scrolling: auto; /* 当手指从触摸屏上移开,滚动会立即停止 */ 链接地址 完美解决! END. ...

smileKH的博客 1913

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。

疯狂的石头 742

【解决方案】使用WebView卡顿情况处理方案

原因1:硬件加速没有打开 解决代码:webView.setLayerType(View.LAYER_TYPE_HARDWARE,null);//开启硬件加速

止水 2万+

Win11下DCMTK的Visual Studio 2022配置教程

最近有个新需求,需要完成读取和解析DICOM数据相关的SDK

qq_45797625的博客 3261

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

Abbott 3237

PLDM实战解析:传感器与效应器在智能监控系统中的应用

本文深入解析了PLDM(平台级数据模型)中传感器与效应器两大核心组件在智能监控系统中的应用。传感器负责感知硬件状态,分为数值型与状态型,提供精准的“体检报告”;效应器则负责执行控制指令,实现从监控到操作的闭环。文章通过实战案例,阐述了如何利用这些标准化组件构建高效、自动化的智能监控系统,并探讨了平台描述记录与事件机制等关键技术。

k6l7m8n9的博客 874

单细胞monocle3分析流程再整理

定义root cell, 推断拟时方向# 结合先验知识自定(示例数据)# 可视化示例数据,起点是随便点的。

zfyyzhys的博客 2100

WKWebView使用及加载进度条实现

iOS8之前加载网页都是使用&lt;UIKit/UIKit.h&gt;中的UIWebView,iOS8新出了一个加载网页的控件[WKWebView],它属于&lt;WebKit/WebKit.h&gt;,使用WKWebView相比于UIWebView益处多多,这个具体可以自行百度。从去年开始很多应用都已从iOS8开始适配,如今更不用担心这个问题了。 其他的废话不需要多说 首先,Demo中...

weixin_34321753的博客 489

YOLOv12改进策略【Neck】| arXiv 2024 MAFPN:多分支辅助特征金字塔网络 | 通过双向辅助融合与异构卷积机制,解决传统PAFPN多尺度特征融合不充分与小目标检测不足问题

本文记录的是利用MAFPN颈部结构改进YOLOv12的目标检测网络模型。通过引入双向辅助融合机制优化特征处理流程,在自底向上路径利用 SAF 模块融合主干浅层特征与颈部输出,并保留浅层空间信息,为小目标检测提供更丰富细节;自顶向下路径通过 AAF 模块建立密集连接,聚合浅层高 / 低分辨率层、同级层及前层特征,均衡各层通道数后实现多向梯度信息交互,增强中 / 大目标特征表达。将其应用到中,解决传统特征金字塔在多尺度信息整合中的不足,提升多尺度目标检测的精度与特征表达的丰富性。Multi-Branch Aux

Limiiiing的博客 1254

WKWebView加载进度条

一、创建WKWebView和进度条 @property (nonatomic, strong) WKWebView *webView; @property (nonatomic, strong) UIProgressView *progressView; 二、初始化UI - (void)setupUI { self.webView = [[WKWebVi...

奔跑的蜗牛 806

图神经网络实战(25)——基于A3T-GCN预测交通流量

本节重点讨论了使用 TGNN 进行交通预测任务。首先,我们介绍了 PeMS-M 数据集,并将其从表格数据转换为具有时间信号的静态图数据集。在实践中,我们根据输入距离矩阵创建了加权邻接矩阵,并将交通速度转换为时间序列。最后,我们构建了 A3T-GCN 模型,这是一个专为交通预测设计的 T-GNN 模型,并将结果与两个基线模型进行了比较,验证了模型的预测结果。

盼小辉丶的博客 8545

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是用户空间第一个进程......

保持专注,保持热爱 636

iOS 给webView加进度条(WKWebView)

1.导入头文件 #import 2.创建WKWebView和ProcessView, 并且添加观察着 @property (strong, nonatomic) WKWebView *webView; @property (strong, nonatomic) UIProgressView *progressView; - (void)viewDidLoad

pangshishan1的博客 6913

芒果YOLO11改进176:2025最新顶会论文|尺度动态损失函数Scale-based Dynamic Loss,即插即用|以减少标签不准确对损失函数稳定性的影响

芒果YOLO11改进186:2025最新顶会论文|尺度动态损失函数Scale-based Dynamic Loss,即插即用|以减少标签不准确对损失函数稳定性的影响

包括YOLOv5、YOLOv7、YOLOv8等模型改进 2126

WkWebView进度条

WKWebView有一个属性estimatedProgress,就是当前网页加载的进度,所以首先监听这个属性。 WKWebView *webView = [[WKWebView alloc]initWithFrame:[UIScreen mainScreen].bounds]; [webView addObserver:self forKeyPath:@"estimatedProgress" o

ihoudf 5619

华为的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...

aokuang9830的博客 626

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.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...

527

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

WKWebView添加加载进度条

WKWebView添加加载进度条 1,先懒加载一个进度条。 #pragma mark - ***** 进度条 - (UIProgressView *)progressView { if (!_progressView) { UIProgressView *progressView = [[UIProgressView alloc] initWithFr...

weixin_30617797的博客 287

iOS 介绍使用UIWebView和WKWebView加载进度条的代码+demo

简介 如果项目支持iOS7之前的系统版本的话,可以做个系统判断,这里就不介绍了,这里还是推荐使用WKWebView,先介绍下使用这个的好处,然后介绍使用UIWebView和WKWebView加载进度条的代码。 开发App的过程中,常常会遇到在App内部加载网页,通常用UIWebView加载。这个自iOS2开始使用的网页加载器一直是开发的心病:加载速度慢,占用内存多,优化困难。如果加载网页多

974

iOS WKWebView添加网页加载进度条

一、效果展示 WKWebProgressViewDemo.gif 二、主要步骤 1.添加UIProgressView属性 @property (nonatomic, strong) WKWebView *wkWebView; @property (nonatomic, strong) UIProgressView *progressView; 2.初始化progressView

qq_25303213的博客 1056

WKWebView 添加进度条显示加载进度

1. 思路是给WKWebView添加KVO监听,在KVO的监听中能获取到加载进度,从而实现进度条下面是源码#import "BookCityStoryVC.h" #import &lt;WebKit/WebKit.h&gt; @interface BookCityStoryVC () &lt;WKNavigationDelegate, WKUIDelegate&gt; { WKWebVi...

无敌帅帅峰的博客 2542

iOS WKWebView中显示进度条及HTML的title

最近项目中添加活动,有一个需求,要加载HTML页面,并且显示HTML页面的title; WKWebView 的estimatedProgress和title 都是KVO模式,所以可以添加监听: [webView addObserver:self forKeyPath:@"estimatedProgress" options:NSKeyValueObservingOptionNew co

H.A.N的博客 1338
上一篇: APP上架流程
下一篇: Mac安装Redis4.0.6
呆呆枫
博客等级 码龄11年 2粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值