相關課程:http://hdjc8.com/hdjc/swiftUI/
SwiftUI並沒有包含WebView,這裏通過遵循UIViewRepresentable協議,在SwiftUI中集成UIKit中的WKWebView。
示例代碼:
import SwiftUI
//首先導入需要使用到的WebKit框架。
import WebKit
//使當前的結構體遵循UIViewRepresentable協議。使用該協議的實例,可以在SwiftUI中創建和管理UIView對象。
struct ContentView : UIViewRepresentable {
//實現協議裏的makeUIView方法,用來初始化並返回一個WKWebView網頁視圖對象。
func makeUIView(context: UIViewRepresentableContext<ContentView>) -> WKWebView {
return WKWebView()
}
//接着實現協議裏的updatedUIView方法,用來設置網頁視圖需要加載的網址參數。
func updateUIView(_ uiView: WKWebView, context: UIViewRepresentableContext<ContentView>) {
//初始化一個URLRequest對象,作爲網頁視圖的網址。
let request = URLRequest(url:URL(string: "https://apple.com")!)
//通過load方法,使網頁視圖加載該網址對應的網頁。
uiView.load(request)
}
}
查看運行結果: