swift - UIWebView 和 WKWebView(iOS12 之后替换UIWebView)
1.iOS12 之前 使用 UIWebView
1>
private lazy var webV : UIWebView = {
let v = UIWebView(frame: self.view.bounds) let url = URL(string: "https://www.baidu.com/")
v.delegate = self
if let url = url {
let urlRequest = URLRequest(url: url)
v.loadRequest(urlRequest)
}
return v
}() 2>
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(webV)
} 3>
extension ViewController:UIWebViewDelegate{ }
2. iOS 12 之后 系统推荐WKWebView 替代 UIWebView
1>
private lazy var wkWebV: WKWebView = {
let config = WKWebViewConfiguration()
// 设置偏好设置
config.preferences = WKPreferences()
// // 默认为0
// config.preferences.minimumFontSize = 10
// 默认认为YES
config.preferences.javaScriptEnabled = true
// 在iOS上默认为NO,表示不能自动通过窗口打开
config.preferences.javaScriptCanOpenWindowsAutomatically = false
// web内容处理池,由于没有属性可以设置,也没有方法可以调用,不用手动创建
config.processPool = WKProcessPool()
// 通过JS与webview内容交互
config.userContentController = WKUserContentController()
// 注入JS对象名称AppModel,当JS通过AppModel来调用时,
// 我们可以在WKScriptMessageHandler代理中接收到
// config.userContentController.add(self, name: "AppModel") let url = URL(string: "https://www.baidu.com/") let web = WKWebView(frame: view.bounds, configuration: config)
web.navigationDelegate = self
web.uiDelegate = self
if let url = url {
let urlRequest = URLRequest(url: url)
web.load(urlRequest) }
return web
}() 2>
view.addSubview(wkWebV) 3.
extension ViewController:WKNavigationDelegate,WKUIDelegate,WKScriptMessageHandler{
func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) { } }
swift - UIWebView 和 WKWebView(iOS12 之后替换UIWebView)的更多相关文章
- 使用WKWebView替换UIWebView
开发App的过程中,常常会遇到在App内部加载网页,通常用UIWebView加载.这个自iOS2开始使用的网页加载器一直是开发的心病:加载速度慢,占用内存多,优化困难.如果加载网页多,还可能因为过量占 ...
- Swift - 禁用UIWebView和WKWebView的下拉拖动效果
使用UIWebView或WKWebView加载网页时,如果页面处于最顶端时,用户用手指往下拖动,会露出灰色空背景.同样页面在最底部的时候,继续向上拖动,下方也会露出空背景. 要禁止这个拖动效果,可进行 ...
- IOS-H5容器的一些探究:UIWebView和WKWebView的比较和选择
一.Native开发中为什么需要H5容器 Native开发原生应用是手机操作系统厂商(目前主要是苹果的iOS和google的Android)对外界提供的标准化的开发模式,他们对于native开发提供了 ...
- iOS H5 容器的一些探究(一):UIWebView 和 WKWebView 的比较和选择
来源:景铭巴巴 链接:http://www.jianshu.com/p/84a6b1ac974a 一.Native开发中为什么需要H5容器 Native开发原生应用是手机操作系统厂商(目前主要是苹果的 ...
- iOS H5容器的一些探究(一):UIWebView和WKWebView的比较和选择
一.Native开发中为什么需要H5容器 Native开发原生应用是手机操作系统厂商(目前主要是苹果的iOS和google的Android)对外界提供的标准化的开发模式,他们对于native开发提供了 ...
- iOS - UIWebView和WKWebView的比较和选择-作为H5容器的一些探究
一.Native开发中为什么需要H5容器 Native开发原生应用是手机操作系统厂商(目前主要是苹果的iOS和google的Android)对外界提供的标准化的开发模式,他们对于native开发提供了 ...
- iOS网络3—UIWebView与WKWebView使用详解
一.整体介绍 UIWebView自iOS2就有,WKWebView从iOS8才有,毫无疑问WKWebView将逐步取代笨重的UIWebView.通过简单的测试即可发现UIWebView占用过多内存,且 ...
- iOS UIWebView与WKWebView使用详解
一.整体介绍 UIWebView自iOS2就有,WKWebView从iOS8才有,毫无疑问WKWebView将逐步取代笨重的UIWebView.通过简单的测试即可发现UIWebView占用过多内存,且 ...
- UIWebView和WKWebView的使用及js交互
UIWebView和WKWebView的使用及js交互 web页面和app直接的交互是很常见的东西,之前尝试过flex和js的相互调用以及android和js的相互调用,却只有ios没试过,据说比较复 ...
随机推荐
- HBuilder开发APP自动登录时跳过"登录页面"
刚接触开发公司APP项目,用HBuilder开发工具. manifest.json中的入口页面就是"登录页面",现在获取到自动登录状态是true,但是真机联调时"登录页面 ...
- Zookeeper原理架构
Zookeeper到底是什么!? 学一个东西,不搞明白他是什么东西,哪还有心情学啊!! 首先,Zookeeper是Apache的一个java项目,属于Hadoop系统,扮演管理员的角色. 然后看到官网 ...
- C++指针理解
指针是C/C++编程中的重要概念之一,也是最容易产生困惑并导致程序出错的问题之一.利用指针编程可以表示各种数据结构,通过指针可使用主调函数和被调函数之间共享变量或数据结构,便于实现双向数据通讯:指针能 ...
- mycat 多个逻辑库加读写分离
上3篇笔记主要记录了,读写分离,单库分表,分库分表 这次改动了下,实现了分库分表以及读写分离,基于多个逻辑库,先看配置文件 server.xml <user name="root&qu ...
- intellij idea 配置web 项目
Intellij Idea 创建Web项目入门(一)(转载) 相关软件: Intellij Idea14:http://pan.baidu.com/s/1nu16VyD JDK7:http://p ...
- Linux sort命令使用方法
sort命令在Linux中主要用于对文件进行排序,并将排序结果输出.sort命令输入可以是指定的文件和数据流.本文主要介绍sort命令的基本语法和常见使用实例. sort命令语法 sort命令格式:s ...
- 如何使用JDBC连接Mysql数据库
//java类名BaseDaopublic class BaseDao { private Connection conn = null; // 声明Connection对象,Connectio ...
- C++ 关于滚动条的滚动问题
SCROLLINFO scrollinfo; GetScrollInfo(SB_HORZ, &scrollinfo, SIF_ALL); switch (nSBCode) { case SB_ ...
- web自动化测试中接口测试学习笔记
一.web基础 web是实现:客户端浏览器端<—————>服务端 交互的应用: web通常包含两部分:web客户端.web服务端:web客户端技术包含html.javascript.aj ...
- Pandas时间序列
Pandas时间序列 pandas 提供了一组标准的时间序列处理工具和数据算法 数据类型及操作 Python 标准库的 datetime datetime 模块中的 datetime. time. c ...