[Swift UI]二、实用控件,8在SwiftUI中使用WebKit里的网页视图

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

➤微信公众号:山青咏芝(let_us_code)

➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/

➤GitHub地址:https://github.com/strengthen/LeetCode

➤原文地址:https:////www.cnblogs.com/strengthen/p/12292833.html

➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

热烈欢迎,请直接点击!!!

进入博主App Store主页,下载使用各个作品!!!

注:博主将坚持每月上线一个新app!!!

SwiftUI并没有提供网页视图,所以我们需要借助WebKit里的网页视图。

本文将演示如何在SwiftUI项目中,使用其他框架里的视觉控件。

 1 import SwiftUI
 2 //首先倒入需要使用到的WebKit框架
 3 import WebKit
 4 
 5 //使当前的结构体遵循UIViewRepresentable(视图替代)协议,
 6 //使用该协议的实例,可以在SwiftUI中创建和管理UIView对象。
 7 struct ContentView : UIViewRepresentable
 8 {
 9     //实现协议里的创建视图makeUIView方法,用来初始化并返回一个WKWebView网页视图对象。
10     func makeUIView(context: UIViewRepresentableContext<ContentView>) -> WKWebView
11     {
12         return WKWebView()
13     }
14     
15     //实现协议里的更新视图updateUIView方法,用来设置网页视图需要加载的网址参数。
16     func updateUIView(_ uiView: WKWebView, context: UIViewRepresentableContext<ContentView>)
17     {
18         //初始化一个网页请求对象,作为网页视图的网址。
19         let request = URLRequest(url:URL(string: "https://apple.com")!)
20         //通过加载方法,使网页视图加载该网址对应的网页。
21         uiView.load(request)
22     }
23 }
24 
25 #if DEBUG
26 struct ContentView_Previews : PreviewProvider {
27     
28     static var previews: some View {
29         ContentView()
30     }
31 }
32 #endif