SwiftUI Печать представления - PullRequest
0 голосов
/ 05 марта 2020

Я пытаюсь распечатать вид из swiftui на принтер. Кажется, все работает нормально, за исключением случаев, когда появляется диалоговое окно печати, предварительный просмотр является пустым представлением. My PrintView имеет большой черный ящик с текстом внутри только для тестирования, но не будет отображаться при предварительном просмотре.

func fPrint() {
    let printingView = UIHostingController(rootView: PrintView()).view

    // GET VIEW AS NSDATA FOR PDF
    let pdfData:NSMutableData = NSMutableData()
    let pageSize:CGRect = CGRect()
    UIGraphicsBeginPDFContextToData(pdfData, pageSize, nil)
    let pdfContext:CGContext = UIGraphicsGetCurrentContext()!

    // CREATE A SINGLE PAGE PDF
    UIGraphicsBeginPDFPage()
    printingView?.layer.render(in: pdfContext)
    UIGraphicsEndPDFContext();

    // SETUP PRINT INFO
    let printInfo = UIPrintInfo(dictionary:nil)
    printInfo.outputType = UIPrintInfo.OutputType.general
    printInfo.jobName = "Print Job"
    printInfo.orientation = .portrait

    // SETUP PRINT CONTROLLER
    let printController = UIPrintInteractionController.shared
    printController.printInfo = printInfo
    printController.showsNumberOfCopies = true
    printController.showsPaperSelectionForLoadedPapers = true
    printController.printingItem = pdfData
    printController.present(animated: true, completionHandler: nil)
}
...