用于在 SwiftUI 应用程序中显示 Web 视图的 UIKit 可表示桥视图
SwiftUIWebView – SwiftUI 的 UIKit WKWebView 包装器
SwiftUI 的 UIKit 包装器,能够在使用 WebKit 框架留在您的应用程序中的同时向用户显示 WebView。
它使用 WKWebView 来显示它。
要求
iOS 14、斯威夫特 5.0 Xcode 13.0+
安装
斯威夫特包管理器
要将 SwiftUIWebView 集成到您的 Xcode 项目中,请在 Package Dependancies 中指定它 > 单击“+”按钮 > 复制并粘贴以下 URL:
https://github.com/devdchaudhary/SwiftUIWebView
将分支设置为“master”
检查 SwiftUIWebview
单击添加到项目
Screen.Recording.2023-05-23.at.4.59.16.PM.mov
用法
第 1 步:导入 SwiftUIWebView
第 2 步:调用 WebView 构造函数
import SwiftUI
import SwiftUIWebView
struct SwiftUIView: View {
@State private var showSheet = false
var url = "https://www.devdchaudhary.com"
var body: some View {
VStack {
Button {
showSheet.toggle()
} label: {
Text("Show Sheet")
}
}
.fullScreenCover(isPresented: $showSheet) {
WebView(url: url, showProgressBar: true)
}
}
}
此外,您可以传递一个布尔值来显示进度条。
模拟器.屏幕.录音.-.iPhone.14.Pro.-.2023-05-23.at.15.53.17.mp4
您还可以使用该isReachable
功能来检查网站是否有效。
import SwiftUI
import SwiftUIWebView
struct SwiftUIView: View {
@State private var showSheet = false
var url = "invalidWebsite.com"
var body: some View {
VStack {
Button {
isReachable(urlString: url) { success in
if success {
showSheet.toggle()
}
}
} label: {
Text("Show Sheet")
}
}
.fullScreenCover(isPresented: $showSheet) {
WebView(url: url, showProgressBar: true)
}
}
}
模拟器.屏幕.录音.-.iPhone.14.Pro.-.2023-05-23.at.15.56.17.mp4