我正在尝试使用.quickLookPreview
iOS 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
尝试弄清楚如何在 iOS 和 macOS 上的 SwiftUI 中使用 QuickLook。我怀疑在不久的将来,将会有一些统一的 SwiftUI QL API,但是 \xe2\x80\x99 还看不到它,所以让 \xe2\x80\x99s 使用我们拥有的 \xe2\x80\xa6
\n\n如何从 SwiftUI 视图呈现和配置 QLPreviewPanel?到目前为止,我有这个:
\n\nstruct 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) 我想在点击按钮时通过新视图显示本地 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) swiftui ×3
quicklook ×2
appkit ×1
ios ×1
mac-catalyst ×1
macos ×1
pdf ×1
swift ×1
viewmodifier ×1
webview ×1