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()
}

如果空白

那就是权限没有开

相关推荐
FreeBuf_2 小时前
苹果紧急发布iOS 15.8.7更新以防御“Coruna“漏洞利用工具包
macos·ios·cocoa
BIBABULALA2 小时前
语音算法面试复习系列1——语音信号处理基础(上)
macos·语音识别·xcode
召田最帅boy4 小时前
使用自定义图片作为Emoji表情的技术实现
数据库·html
TESmart碲视5 小时前
Mac+PC双系统如何共享双屏?KVM切换器选购的5个关键指标|TESmart用户真实体验复盘
macos·计算机外设·kvm切换器·tesmart·双屏kvm切换器·碲视
00后程序员张5 小时前
使用克魔助手(Keymob)查看 iOS 设备日志与崩溃报告
android·macos·ios·小程序·uni-app·cocoa·iphone
&黄昏的乐师6 小时前
VMware安装MAC虚拟机教程(安装过程记录)
macos
秃头摸鱼侠6 小时前
OpenClaw 入门到实战:安装、配置、使用、升级与卸载(Windows/macOS/Linux)
linux·windows·macos
Access开发易登软件7 小时前
在 Access 实现标签输入控件:VBA + HTML 混合开发实战
前端·数据库·信息可视化·html·excel·vba·access
liliangcsdn7 小时前
Mac环境OpenClaw龙虾的初步测试和验证
人工智能·macos
MonkeyKing_sunyuhua8 小时前
mac配置系统代理: http://127.0.0.1:7890
macos