Post

Replies

Boosts

Views

Activity

SwiftUI : QuickLook doesn't not work correctly in iPad device
Xcode: 11.6, PadOS: 13.6, device: iPad mini 5. I tried to using QuickLook framework. For editting PDF, I implemented "previewController(_: editingModeFor: )" in Coordinator. In Xcode simulator, quicklook view has pencil markup tool. But in my iPad, there is no markup tool. is there some bugs in QuickLook framework? Or am I missing something? here is my code. PreviewController import SwiftUI import QuickLook struct PreviewController: UIViewControllerRepresentable {     let url: URL     @Binding var isPresented: Bool     func makeUIViewController(context: Context) -> UINavigationController {         let controller = QLPreviewController()         controller.dataSource = context.coordinator         controller.delegate = context.coordinator         let navigationController = UINavigationController(rootViewController: controller)         return navigationController     }     func updateUIViewController(_ uiViewController: UINavigationController, context: Context) {}     func makeCoordinator() -> Coordinator {         return Coordinator(parent: self)     }     class Coordinator: NSObject, QLPreviewControllerDelegate, QLPreviewControllerDataSource {         let parent: PreviewController         init(parent: PreviewController) {             self.parent = parent         }         func numberOfPreviewItems(in controller: QLPreviewController) -> Int {             return 1     }     func previewController(_ controller: QLPreviewController, previewItemAt index: Int) -> QLPreviewItem {     return parent.url as NSURL     }     /* Return .updateContents so QLPreviewController takes care of updating the contents of the provided QLPreviewItems whenever users save changes./         func previewController(_ controller: QLPreviewController, editingModeFor previewItem: QLPreviewItem) -> QLPreviewItemEditingMode {     return .updateContents     }     } } ContentView.swift import SwiftUI struct ContentView: View {     let fileUrl = Bundle.main.url(forResource: "LoremIpsum", withExtension: "pdf")!     @State private var showingPreview = false     var body: some View {         Button("Preview File") {             self.showingPreview = true         }         .sheet(isPresented: $showingPreview) {             PreviewController(url: self.fileUrl, isPresented: self.$showingPreview)         }     } }
1
0
1.3k
Aug ’20