如何在Swift iOS中使webview不可点击



我想在Swift中实现一个iOS应用程序的webview,我只是想显示给定网站的内容。下面的实现工作,但我有2个要求,我不知道如何实现:

  1. 我希望用户不能以任何方式与显示的页面进行交互。比如有一个链接,用户不能点击它。同样适用于页面的其他元素,如图像等。有办法吗?在实践中,网站内容需要像内容的图片一样被提供,而不可能与页面的单个元素交互。
  2. 我希望网站的地址永远不会对用户可见。在我下面的实现中,似乎是这样,但我不确定这是否会在任何条件下工作,如果有一个更安全的方法来确保web地址永远不会显示给用户(即使当例如iOS通知用户有一个问题加载页面等)。

我在ViewController.swift中的设置如下:

import UIKit
import WebKit
class ViewController: UIViewController, WKNavigationDelegate {

var webView: WKWebView!

override func loadView() {
webView = WKWebView()
webView.navigationDelegate = self
view = webView
}
override func viewDidLoad() {
super.viewDidLoad()

let url = URL(string: "my-website-here")!
webView.load(URLRequest(url: url))
webView.allowsBackForwardNavigationGestures = true
}
}

在函数override func viewDidLoad()的右括号之后尝试实现这个

func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
decisionHandler(.cancel)
}

也在webView.load(URLRequest(url: url))

下面

添加
navigationController?.isToolbarHidden = true
navigationController?.isNavigationBarHidden = true