📜  swift webview 加载 html - Swift (1)

📅  最后修改于: 2023-12-03 15:20:24.941000             🧑  作者: Mango

使用 Swift WebView 加载 HTML

在 Swift 中,使用 WebView 载入 HTML 文件非常简单。WebView 是一种 UI 组件,它可以在 iOS 应用程序中显示 web 内容和本地内容,可以加载一切可以被网页显示的内容。

WebView 构造

首先我们需要创建一个 WebView 对象,代码如下:

import UIKit
import WebKit

class ViewController: UIViewController {

    var webView: WKWebView!

    override func viewDidLoad() {
        super.viewDidLoad()

        webView = WKWebView(frame: view.bounds)
        view.addSubview(webView)
    }
}

该代码包含了导入我们需要使用的 UIKit 和 WebKit 库,以及在 ViewController 类中创建了一个 WKWebView 的实例对象。

WebView 载入 HTML

我们可以使用下面的代码直接加载一个 HTML 内容:

let htmlString = "<html><body><p>Hello, WebView!</p></body></html>"
webView.loadHTMLString(htmlString, baseURL: nil)

该代码会在 WebView 中显示一个简单的 HTML 页面。

WebView 载入远程 HTML 文件

我们可以调用 load 方法来载入任意的 URL:

let url = URL(string: "https://www.example.com")!
webView.load(URLRequest(url: url))

该代码可以在 WebView 中显示来自远程服务器的 HTML。

WebView 模式选择

WebView 可以在嵌入模式和全屏模式下运行,嵌入模式下 WebView 作为应用程序的一个子视图,而全屏模式则是全屏展示 WebView。

嵌入模式:

webView = WKWebView(frame: CGRect(x: 0, y: 0, width: view.frame.width, height: 300))
view.addSubview(webView)

全屏模式:

webView = WKWebView(frame: view.bounds)
webView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
view.addSubview(webView)
WebView 生命周期

最后,需要注意的是,WebView 是一个有生命周期的 UI 组件。在视图控制器中,我们需要负责释放 WebView 对象,否则会导致内存泄漏。

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)
    webView = nil
}

以上是使用 Swift 实现 WebView 载入 HTML 的简单教程。通过 WebView,我们可以在 iOS 应用程序中轻松地加载和展示 web 内容,更好地融入全球互联网。