小编Chi*_*iel的帖子

在 macOS 上使用 swiftUI 实现 webkit(并创建网页预览)

我正在尝试创建一个菜单栏应用程序来显示该网站的收件箱。我想制作一个简单的功能,打开一个带有项目网址的小弹出窗口(无需打开 safari)。收件箱项目看起来像这样

struct InboxItem: View {
    @State var MesgSite: String = "https://duckduckgo.com"
    @State private var showSafari = false    
   
    var body: some View {
        VStack(alignment: .leading) {
            Text("some text")
        .background(SelectColor.opacity(0.5))
        .onLongPressGesture {
           //show preview of the MesgSite here
            self.SelectColor = .blue
            self.showSafari.toggle()
        }.popover(isPresented: self.$showSafari) {
            SafariPreview()
        }
    }
}

struct SafariPreview: View {

    var body: some View {
        VStack {
            Text("Display the webpage here")
            .padding()
        }.frame(maxWidth: 533, maxHeight: 300)
    }

}

Run Code Online (Sandbox Code Playgroud)

我想,当一个人长按该项目时,它应该预览关联的网页,就像 macOS 上的默认邮件应用程序一样,如下所示:

现在弹出窗口可以工作了

打开网站预览

我尝试在 a 中添加 awkwebview和 …

macos webkit swift swiftui nsviewcontrollerrepresentable

9
推荐指数
2
解决办法
5558
查看次数