WKWebView

显示交互式Web内容的对象,例如应用程序内浏览器。

class WKWebView : UIView
class WKWebView : NSView

###总览

重要,从iOS 8.0和OS X 10.10开始,使用WKWebView将Web内容添加到您的应用程序。不要使用UIWebView或WebView。

您可以使用该类在您的应用程序中嵌入Web内容。为此,创建一个对象,将其设置为视图,并向其发送加载Web内容的请求。WKWebViewWKWebView

注意,您可以POST使用中的内容发出请求。httpBodyWKWebView

使用该方法创建新对象后,需要加载Web内容。使用该方法开始加载本地HTML文件,或者使用该方法开始加载Web内容。使用方法停止加载,使用属性来确定Web视图是否正在加载。将委托属性设置为符合协议的对象,以跟踪Web内容的加载。有关以编程方式创建的示例,请参见清单1。WKWebViewinit(frame:configuration:)loadHTMLString(:baseURL:)load(:)stopLoading()isLoadingWKUIDelegateWKWebView

清单1 以编程方式创建WKWebView

import UIKit
import WebKit
class ViewController: UIViewController, WKUIDelegate {var webView: WKWebView!override func loadView() {let webConfiguration = WKWebViewConfiguration()webView = WKWebView(frame: .zero, configuration: webConfiguration)webView.uiDelegate = selfview = webView}override func viewDidLoad() {super.viewDidLoad()let myURL = URL(string:"https://www.apple.com")let myRequest = URLRequest(url: myURL!)webView.load(myRequest)}}

要允许用户在网页历史记录中来回移动,请使用和方法作为按钮的操作。当用户无法向某个方向移动时,请使用和属性禁用按钮。

  • goBack()
  • goForward()
  • canGoBackcanGoForward

默认情况下,Web视图会自动将显示在Web内容中的电话号码转换为“电话”链接。轻按“电话”链接后,“电话”应用将启动并拨打该号码。若要关闭此默认行为,请使用不包含该标志的位域设置该属性。dataDetectorTypesWKDataDetectorTypesphoneNumber

您还可以使用来以编程方式设置Web内容在首次显示在Web视图中时的缩放比例。此后,用户可以使用手势来更改比例。setMagnification(_:centeredAt:)


主题


确定WebKit是否可以加载内容

1、class func handlesURLScheme(String) -> Bool
返回WebKit是否本机支持使用特定URL方案加载资源。


初始化Web视图

2、var configuration: WKWebViewConfiguration
用于初始化Web视图的配置副本。
3、init(frame: CGRect, configuration: WKWebViewConfiguration)
返回使用指定框架和配置初始化的Web视图。
4、init?(coder: NSCoder)
检查视图信息
5、var scrollView: UIScrollView
与Web视图关联的滚动视图。
6、var title: String?
页面标题。
7、var url: URL?
活动URL。
8、var customUserAgent: String?
定制用户代理字符串。
9、var serverTrust: SecTrust?
当前提交的导航的SecTrustRef对象。
10、var certificateChain: [Any]
组成用于当前提交的导航的证书链的对象数组。
不推荐使用


设置delegate

11、var navigationDelegate: WKNavigationDelegate?
Web视图的导航委托。
12、var uiDelegate: WKUIDelegate?
Web视图的用户界面委托。


载入内容

13、var estimatedProgress: Double
估计当前导航中已加载的部分。

14、var hasOnlySecureContent: Bool
一个布尔值,指示是否已通过安全加密的连接加载页面上的所有资源。

15、func loadHTMLString(String, baseURL: URL?) -> WKNavigation?
设置网页内容和基本URL。

16、var isLoading: Bool
一个布尔值,指示视图当前是否正在加载内容。

17、func reload() -> WKNavigation?
重新加载当前页面。

18、func reload(Any?)
重新加载当前页面。

19、func reloadFromOrigin() -> WKNavigation?
重新加载当前页面,并在可能的情况下使用缓存验证条件进行端到端重新验证。

20、func reloadFromOrigin(Any?)
重新加载当前页面,并在可能的情况下使用缓存验证条件进行端到端重新验证。

21、func stopLoading()
停止加载当前页面上的所有资源。

22、func stopLoading(Any?)
停止加载当前页面上的所有资源。

23、func load(Data, mimeType: String, characterEncodingName: String, baseURL: URL) -> WKNavigation?
设置网页内容和基本URL。

24、func loadFileURL(URL, allowingReadAccessTo: URL) -> WKNavigation?
导航到文件系统上的请求文件URL


缩放内容

25、var allowsMagnification: Bool
一个布尔值,指示放大的手势是否会更改Web视图的放大率。

26、var magnification: CGFloat
当前页面内容缩放的因子。

27、func setMagnification(CGFloat, centeredAt: CGPoint)
按指定的比例缩放页面内容,并将结果集中在指定的点上。


导航

28、var allowsBackForwardNavigationGestures: Bool
一个布尔值,指示水平滑动手势是否会触发后退列表导航。
29、var backForwardList: WKBackForwardList
Web视图的后退列表。
30、var canGoBack: Bool
一个布尔值,指示后向列表中是否有可以导航到的后一项。
31、var canGoForward: Bool
一个布尔值,指示后向列表中是否有可以导航到的前向项目。
32、var allowsLinkPreview: Bool
一个布尔值,该值确定按下链接是否显示链接目标的预览。
33、func goBack() -> WKNavigation?
导航到后退列表中的后一项。
34、func goBack(Any?)
导航到后退列表中的后一项。
35、func goForward() -> WKNavigation?
导航到后退列表中的前一项。
36、func goForward(Any?)
导航到后退列表中的前一项。
37、func go(to: WKBackForwardListItem) -> WKNavigation?
从后退列表导航到一个项目,并将其设置为当前项目。
38、func load(URLRequest) -> WKNavigation?
导航到请求的URL。


执行JavaScript

39、func evaluateJavaScript(String, completionHandler: ((Any?, Error?) -> Void)?)
评估一个JavaScript字符串。


拍摄快照

40、func takeSnapshot(with: WKSnapshotConfiguration?, completionHandler: (UIImage?, Error?) -> Void)
拍摄视图的可见视口的快照。


实例属性

41、var mediaType: String?
42、var pageZoom: CGFloat


实例方法

43、func callAsyncJavaScript(String, arguments: [String : Any], in: WKFrameInfo?, in: WKContentWorld, completionHandler: ((Result<Any, Error>) -> Void)?)

44、func createPDF(configuration: WKPDFConfiguration, completionHandler: (Result<Data, Error>) -> Void)

45、func createWebArchiveData(completionHandler: (Result<Data, Error>) -> Void)

46、func evaluateJavaScript(String, in: WKFrameInfo?, in: WKContentWorld, completionHandler: ((Result<Any, Error>) -> Void)?)

47、func find(String, configuration: WKFindConfiguration, completionHandler: (WKFindResult) -> Void)

48、func printOperation(with: NSPrintInfo) -> NSPrintOperation

推荐

基础文章推荐

  • 《SwiftUI是什么,听听大牛们如何说》

经典教程推荐

  • 更新近百篇SwiftUI教程《SwiftUI2020教程》
  • 帮您突破数据存储难关《SwiftUI vs CoreData数据存储解决方案》

上新

  • 《WWDC2020专栏》
  • 《SwiftUI WWDC2020 新增组件列表》

技术源码推荐

推荐文章

CoreData篇

  • SwiftUI数据存储之做个笔记App 新增与查询(CoreData)
  • SwiftUI进阶之存储用户状态实现登录与登出
  • SwiftUI 数据之List显示Sqlite数据库内容(2020年教程)

Combine篇

  • 一篇文章学懂弄通SwiftUI与Combine(含轮播动画App源码)

TextField篇

  • 《SwiftUI 一篇文章全面掌握TextField文本框 (教程和全部源码)》
  • 《SwiftUI实战之TextField风格自定义与formatters》
  • 《SwiftUI实战之TextField如何给键盘增加个返回按钮(隐藏键盘)》
  • 《SwiftUI 当键盘出现时避免TextField被遮挡自动向上移动》
  • 《SwiftUI实战之TextField如何给键盘增加个返回按钮(隐藏键盘)》

JSON文件篇

  • SwiftUI JSON文件下载、存储、解析和展示(代码大全)

一篇文章系列

  • SwiftUI一篇文章全面掌握List(教程和源码)
  • 《SwiftUI 一篇文章全面掌握TextField文本框 (教程和全部源码)》
  • SwiftUI一篇文章全面掌握Picker,解决数据选择(教程和源码)
  • SwiftUI一篇文章全面掌握Form(教程和源码)
  • SwiftUI Color 颜色一篇文章全解决

技术交流

QQ:3365059189
SwiftUI技术交流QQ群:518696470

  • 请关注我的专栏icloudend, SwiftUI教程与源码
    https://www.jianshu.com/c/7b3e3b671970

WKWebView WebKit (SwiftUI中文文档手册)相关推荐

  1. NSVisualEffectView (SwiftUI 中文文档手册 教程含源码)

    NSVisualEffectView 为界面中的视图添加半透明和鲜艳效果的视图. class NSVisualEffectView : NSView 总览 视觉效果视图主要用作应用程序内容的背景视图. ...

  2. .onReceive (SwiftUI中文文档手册)

    .onReceive 添加一个操作,以在此视图检测到给定发布者发出的数据时执行. func onReceive<P>(_ publisher: P, perform action: @es ...

  3. cornerRadius (_:antialiased:) (SwiftUI 中文文档手册)

    cornerRadius(_:antialiased:) 将此视图剪切到具有指定角半径的边界框. func cornerRadius(_ radius: CGFloat, antialiased: B ...

  4. CloudKit快速入门之02 通过保存记录创建数据库架构 (SwiftUI iCloud CloudKit中文文档手册教程)...

    通过保存记录创建数据库架构 在开发过程中,使用CloudKit API创建架构很容易.将记录对象保存到数据库时,将自动为您创建关联的记录类型及其字段.此功能称为即时模式,仅当您使用开发环境(商店中出售 ...

  5. UIKit 中文文档手册汇总目录

    UIKit 为iOS或tvOS应用程序构建和管理事件驱动的图形用户界面. 总览 UIKit框架为您的iOS或tvOS应用程序提供了必需的基础结构.它提供了用于实现您的界面的窗口和视图体系结构,用于向您 ...

  6. 熬夜整理的一份elasticsearch中文文档手册

    由于本文篇幅较长,想要获取PDF,请关注'公众号-菜鸟成长学习笔记'回复"es手册"即可领取文件. es概括 Elaticsearch,简称为 ES, ES 是一个开源的高扩展的分 ...

  7. php stortime,文件存储 - Laravel 5.8 中文文档手册 - php中文网手册

    文件存储 简介 Laravel 提供了一个强大的文件系统抽象,这得益于 Frank de Jonge 强大的 Flysystem 扩展包.Laravel 文件系统集成为使用本地文件系统.Amazon ...

  8. php基础 快速入门文档,快速入门 - Laravel 5.8 中文文档手册 - php中文网手册

    Eloquent:入门 简介 Laravel 的 Eloquent ORM 提供了一个漂亮.简洁的 ActiveRecord 实现来和数据库交互.每个数据库表都有一个对应的「模型」用来与该表交互.你可 ...

  9. php 辅助函数,辅助函数 - Laravel 5.8 中文文档手册 - php中文网手册

    辅助函数 简介 Laravel 包含各种各样的「全局」PHP 辅助函数,框架本身也大量的使用了这些功能函数:如果你觉的方便,你可以在你的应用中任意使用这些函数 可用方法 数组 & 对象 路径 ...

最新文章

  1. iOS开发 nil Nil NULL NSNull 的使用
  2. 【Linux 内核】编译 Linux 内核 ② ( 解压内核源码 | 查询当前 Linux 内核版本号 | 进入并查看 linux 内核源码目录 )
  3. Windows下文件名或目录的简写
  4. 我们身边的知识产权单元测试答案(期末考试复习)【湘潭大学】
  5. html网页设计插入音乐,背景音乐是如何插入的?-网页设计,HTML/CSS
  6. Node.js之------模块篇
  7. 如何掌握眼神接触技巧?
  8. HTML五子棋人人对战源代码,五子棋C++源代码 单机 联机 人机对战 人人对战
  9. linux配置内存buffer,调整Linux的网络栈(Buffer Size)来提升网络性能
  10. java se mac 10.9_jdk9mac下载|jdk8(Java SE Development Kit)8 mac2017 最新版_ - 极光下载站
  11. 基于session推荐的论文阅读
  12. 米聊之死 雷军的“猪”折了腿?
  13. 少儿机器人编程课程学什么
  14. asp.net是什么?
  15. vue.runtime.esm.js?2b0e:619 [Vue warn]: Error in v-on handler (Promise/async): “Error: 失败“found in
  16. TTL(生存时间)介绍
  17. 富文本编辑器:ckeditor(使用官网下载包)
  18. 官网被报危险网站和降权的应对措施
  19. 发电机失磁保护的整定计算
  20. 那么普通却那么自信?浅谈元认知能力会怎样影响一个人的判断

热门文章

  1. AWE开幕在即,腾讯叮当将携智能朋友圈亮相
  2. VulnHub—HA-Avengers Arsenal
  3. 中星微ZC301P摄像头驱动支持
  4. Serv-U 部署windows FTP
  5. 大学计算机uml ppt,南京大学计算机科学与技术系Object-OrientedSoftwareEngineeringUnifiedModelingLanguageUML幻灯片资料.ppt...
  6. 新版Ui任务程序全开源码
  7. 抖音情感类账号,情感类抖音账号简介
  8. 4台计算机组建对等网结构图,第4章 组建Windows对等网.ppt
  9. vsco使用教程_VSCO Cam 使用方法技巧
  10. linux操作系统的引导过程,深入了解linux操作系统引导过程详解