iOS12 UIWebView转换WKWebView

本文介绍了iOS12中UIWebView被弃用,转向使用WKWebView的原因,如性能提升、JavaScript支持等优势,并详细讲解了WKWebView的用法,包括导入、设置委托、代理方法及加载本地HTML等内容,帮助开发者顺利进行迁移。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

iOS12已经完全弃用UIWebView改用WKWebView
WKWebView是苹果公司在iOS8系统推出的,相比于UIWebView的优势:
1.在性能、稳定性、占用内存方面有很大提升;
2.允许JavaScript的Nitro库加载并使用(UIWebView中限制)
3.增加加载进度属性:estimatedProgress,不用在自己写假进度条了
4.更多的支持HTML5的特性
5.官方宣称的高达60fps的滚动刷新率以及内置手势
6.Safari相同的JavaScript引擎
7.将UIWebViewDelegate与UIWebView拆分成了14类与3个协议(官方文档说明)
8.另外用的比较多的,增加加载进度属性:estimatedProgress

=========================================
用法介绍:

  1. 导入库 :WebKit.framework
  2. 导入头文件 :#import <WebKit/WebKit.h>
  3. 如果xib或者storyboard中已经拖拽了WebView,删除WebView,拖拽WebKitView来替换原来的WebView
  4. 在需要实现webView的控制类中创建WKWebView属性
  5. 在需要实现webView的控制类中继承WKNavigationDelegate, WKUIDelegate
  6. 实现委托 :
    wkWebView.navigationDelegate = self;
  7. WKNavigationDelegate代理方法 :
    <1>在发送请求之前,决定是否跳转
    - (void)webView:(WKWebView *)webView decidePolicyForNavigationResponse:(WKNavigationResponse *)navigationResponse decisionHandler:(void (^)(WKNavigationResponsePolicy))dec
WKWebView Swift3.0 一款IOS8以后的web加载神器 https://github.com/XFIOSXiaoFeng/SwiftWkWebView 别说了!!!!快上车 WKWebView 支持POST请求 加载本地页面 直接加载网页 JS交互 集成支付宝/微信URL支付功能 仿微信返回按钮 感谢大家的支持 OC版本将不再持续更新 业余爱好 QQ群:384089763 OC版本遗址:https://github.com/XFIOSXiaoFeng/WKWebView NO1 首先得允许访问HTTP链接 HTTPS权限: NSAppTransportSecurity NSAllowsArbitraryLoads API介绍 API属性 //设置navigationBarColor的颜色 var navigationBarColor: UIColor? //是否隐藏进度条 var isProgressHidden = false //注册MessageHandler 需要实现代理方法 var addJavaScriptAry = [String]() //执行JS 需要实现代理方法 var javaScript = String() //设置代理 weak var delegate : WKWebViewDelegate? //右边按钮的值 ItemTag:区分当前按钮 //实现代理方法才能调用点击事件 var rightBarButtonItemTitle : String? var rightBarButtonItemImage : String? var rightBarButtonItemImageH : String? var rightBarButtonItemTag : String? API方法 /// 普通URL加载方式 func load_UrlSting(string:String!) {} /// 加载本地HTML func load_HTMLSting(string:String!) {} /// POST方式请求加载 func load_POSTUrlSting(string:String!,postString:String!) {} /// 添加右侧按钮 func add_rightBarButtonItem(title:String?,image:String?,imageH:String?,itemTag:String?) {} /// 执行JavaScript代码 func run_JavaScript(script:String?) {} API代理方法 //点击右边按钮执行方法 @objc optional func didSelectRightItem(webView:WKWebView,itemTag:String) //注册JS执行代码 @objc optional func didAddScriptMessage(webView:WKWebView,message:WKScriptMessage) //页面执行JS方法 @objc optional func didRunJavaScript(webView:WKWebView,result:Any?,error:Error?)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值