iOS WKWebView
参考官方文档的学习使用
文章目录
- iOS WKWebView
- 前言
- 一、WKWebView是什么?
- 二、详细介绍
-
- 1.使用
- 2.属性、方法详解
- 总结
前言
提示:从iOS8.0和OS X 10.10开始,需使用WKWebView添加web内容,不要使用UIWebView或者WebView。
提示:以下是本篇文章正文内容,下面案例可供参考
一、WKWebView是什么?
显示交互式Web内容的对象,就像App内的浏览器。
Note: 您可以在WKWebView中使用httpBody内容发出POST请求
二、详细介绍
1.使用
代码如下(示例):
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)}}
默认情况下,Web视图会自动将显示在Web内容中的电话号码转换为“电话”链接。 轻按“电话”链接后,“电话”应用将启动并拨打该号码。若要关闭此默认行为,请使用不包含phoneNumber标志的WKDataDetectorTypes位字段设置dataDetectorTypes属性。
2.属性、方法详解
/* @abstract Checks whether or not WKWebViews handle the given URL scheme by default. @param scheme The URL scheme to check. */
// 返回WebKit本机是否支持使用特定URL方案加载资源。
@available(iOS 11.0, *)
open class func handlesURLScheme(_ urlScheme: String) -> Bool// 用于初始化Web视图的配置副本。
var configuration: WKWebViewConfiguration// 返回使用指定frame和配置初始化的Web视图。
init(frame: CGRect, configuration: WKWebViewConfiguration)// 遵守了NSCoding 用xib构建控件时
public init?(coder: NSCoder)// ******************* View Information *****************// 与webView关联的滚动视图
var scrollView: UIScrollView// 页面title 支持KVO
var title: String?// 当前URL 支持KVO
var url: URL?// 自定义用户代理字符串。如果未设置自定义用户代理字符串,则设置为nil。
var customUserAgent: String?// 当前提交的导航的SecTrustRef对象。 支持KVO
// 用于评估信任的对象
var serverTrust: SecTrust?// Deprecated 当前提交的导航的证书链的对象数组。
var certificateChain: [Any]// ******************* Delegates *****************// WebView的导航代理
// [详细介绍](https://blog.csdn.net/meiyulong518/article/details/108733416)
var navigationDelegate: WKNavigationDelegate?// 用户界面代理
var uiDelegate: WKUIDelegate?// ******************* Loading Content *****************// 估计当前导航中已加载的部分。 范围为0.0到1.0。
// 导航加载完成后estimatedProgress值保持为1.0直到新的导航开始重新设置为0.0 。
// 支持KVO
var estimatedProgress: Double
//ex. estimatedProgress 监听
webView.addObserver(self, forKeyPath: "estimatedProgress", options: .new, context: nil)override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
if keyPath == "estimatedProgress" {
print(webView.estimatedProgress)}}// 是否已通过安全加密的连接加载页面上的所有资源 支持KVO
var hasOnlySecureContent: Bool// 设置网页内容和基本URL
func loadHTMLString(String, baseURL: URL?) -> WKNavigation?// WKNavigation 跟踪网页的加载进度,Web视图的加载方法返回了WKNavigation,并且传递给导航委托方法,以唯一地标识网页
// 从头到尾加载。
@available(iOS 8.0, *)
open class WKNavigation : NSObject {
/** The content mode used when loading this webpage.@discussion The value is either WKContentModeMobile or WKContentModeDesktop.*/@available(iOS 13.0, *)open var effectiveContentMode: WKWebpagePreferences.ContentMode {
get }
}// 当前是否正在加载内容
var isLoading: Bool// 重新加载当前页面 返回代表重新加载的网页的新导航。
func reload() -> WKNavigation?
func reload(Any?)//发送此消息的对象// 重新加载当前页面,并在可能的情况下使用缓存验证条件执行端到端重新验证。
func reloadFromOrigin() -> WKNavigation?
func reloadFromOrigin(Any?)//发送此消息的对象// 停止加载当前页面上的所有资源。
func stopLoading()
func stopLoading(Any?)//发送此消息的对象// 设置网页内容和基本URL, 数据,数据的MIME类型,数据的字符编码名称,baseURL用于解析文档中相对URL的URL
func load(Data, mimeType: String, characterEncodingName: String, baseURL: URL) -> WKNavigation?// 加载本地文件。 导航到的文件URL,允许读取访问的URL。
// 如果ReadAccessURL是一个单独的文件则可能只会加载这个文件,
// 如果ReadAccessURL是一个文件夹则会加载这个文件下的文件,
func loadFileURL(URL, allowingReadAccessTo: URL) -> WKNavigation?
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。