swiftui macOS实现加载本地html文件

swift 复制代码
import SwiftUI
import WebKit

struct ContentView: View {
    var body: some View {
        VStack {
            Text("测试")
            
            HTMLView(htmlFileName: "localfile") // 假设你的本地 HTML 文件名为 index.html
                        .frame(minWidth: 100, minHeight: 100) // 设置 HTMLView 的最小尺寸
        }
        .frame(minWidth: 200, minHeight: 200) // 设置 ContentView 的最小尺寸
    }
}

struct HTMLView: NSViewRepresentable {
    let htmlFileName: String

    func makeNSView(context: Context) -> WKWebView {
        let webView = WKWebView()
        return webView
    }

    func updateNSView(_ nsView: WKWebView, context: Context) {
        if let htmlPath = Bundle.main.url(forResource: htmlFileName, withExtension: "html") {
            let request = URLRequest(url: htmlPath)
            nsView.load(request)
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

#Preview {
    ContentView()
}

如果空白

那就是权限没有开

相关推荐
Java小白笔记6 小时前
Mac中安装homebrew
macos
HerayChen9 小时前
HbuildderX运行到手机或模拟器的Android App基座识别不到设备 mac
android·macos·智能手机
hairenjing11239 小时前
在 Android 手机上从SD 卡恢复数据的 6 个有效应用程序
android·人工智能·windows·macos·智能手机
DogEgg_00110 小时前
前端八股文(一)HTML 持续更新中。。。
前端·html
小李飞刀李寻欢12 小时前
Mac电脑如何解压rar压缩包
macos·rar·解压
Java小白笔记12 小时前
Mac中禁用系统更新
macos
AndyFrank12 小时前
mac crontab 不能使用问题简记
linux·运维·macos
Mac新人12 小时前
一招解决Mac没有剪切板历史记录的问题
macos·mac
王拴柱12 小时前
Mac保护电池健康,延长电池使用寿命的好方法
macos·mac
daa2012 小时前
macos中安装和设置ninja
macos