相关疑难解决方法(0)

如何在 swiftui 中使用 .quickLookPreview 修饰符

我正在尝试使用.quickLookPreviewiOS 14、macOS 11 macCatalyst 14 中引入的视图修改器,但Value of type 'some View' has no member 'quickLookPreview'每次尝试在 macOS 或 mac Catalyst 目标上使用该修改器时都会收到此错误。在 iOS 上,这工作得很好。在 Mac 上呈现此修改器的正确方法是什么?

import SwiftUI
import QuickLook


struct ContentView: View {

@State var documentUrl: URL?

var body: some View {
    NavigationView {

    ZStack {
        
        Button("Press Me", action: {
            documentUrl = URL(fileURLWithPath: "somelocalfileURLPath")
        })
        
        
       
    }
    .navigationTitle("Open File")
    .quickLookPreview($documentUrl)
        
    }
    
}

}
Run Code Online (Sandbox Code Playgroud)

Xcode 13.1 MacOS 12.1

macos quicklook swiftui mac-catalyst viewmodifier

6
推荐指数
1
解决办法
1844
查看次数

如何在 macOS 上使用 SwiftUI 显示 QLPreviewPanel?

尝试弄清楚如何在 iOS 和 macOS 上的 SwiftUI 中使用 QuickLook。我怀疑在不久的将来,将会有一些统一的 SwiftUI QL API,但是 \xe2\x80\x99 还看不到它,所以让 \xe2\x80\x99s 使用我们拥有的 \xe2\x80\xa6

\n\n

如何从 SwiftUI 视图呈现和配置 QLPreviewPanel?到目前为止,我有这个:

\n\n
struct ItemView: View {\n    let previewPanelThing = PreviewPanelThing()\n    var body: some View {\n        Button("OSX preview") {\n            print("osx preview")\n            if let previewPanel = QLPreviewPanel.shared() {\n                self.previewPanelThing.updateControllerForPanel(previewPanel)\n                previewPanel.makeKeyAndOrderFront(self.previewPanelThing)\n            }                   \n        }\n    }\n}\n\nclass PreviewPanelThing: QLPreviewPanelDataSource {\n\n    func updateControllerForPanel(_ panel: QLPreviewPanel) {\n        print("updating controller")\n        panel.updateController()\n    }\n\n    func numberOfPreviewItems(in panel: QLPreviewPanel!) -> Int {\n        print("number of items")\n        return 1\n    }\n\n    func previewPanel(_ panel: …
Run Code Online (Sandbox Code Playgroud)

quicklook appkit swiftui

3
推荐指数
1
解决办法
1617
查看次数

如何使用 SwiftUI 按钮打开本地 PDF 文件?

我想在点击按钮时通过新视图显示本地 PDF 文件。我尝试使用 UIViewRepresentable WebView 这样做,但它不起作用(我仅通过 NavigationList 使用 WebView)。

我留下了我的代码,但如果 WebView 不是最佳选择,请随时提出更好的选择。

按钮视图

import SwiftUI

struct ResumeView: View {

    let sfSymbol: String
    let text: String

    let fileUrl = Bundle.main.path(forResource: "Resume", ofType: "pdf")

    var body: some View {
        RoundedRectangle(cornerRadius: 25)
            .fill(Color.white)
            .frame(height: 50.0)
            .overlay(
                HStack {
                    Image(systemName: sfSymbol)
                        .foregroundColor(.init(red: 0.20, green: 0.33, blue: 0.55, opacity: 1.00))
                    Button(action: {
                        WebView(urlString: self.fileUrl)
                    }) {
                    Text(text)
                        .foregroundColor(.black)
                    }
            })
    }
}
Run Code Online (Sandbox Code Playgroud)

网页视图

import Foundation
import SwiftUI
import WebKit 

struct WebView: UIViewRepresentable {

    let urlString: …
Run Code Online (Sandbox Code Playgroud)

pdf webview ios swift swiftui

2
推荐指数
1
解决办法
3353
查看次数

标签 统计

swiftui ×3

quicklook ×2

appkit ×1

ios ×1

mac-catalyst ×1

macos ×1

pdf ×1

swift ×1

viewmodifier ×1

webview ×1