Swift 快速打印视图

Swift 快速打印视图,swift,printing,view,swiftui,Swift,Printing,View,Swiftui,我正在尝试将视图从swiftui打印到打印机。除了出现“打印”对话框(预览为空视图)外,其他一切似乎都正常工作。我的PrintView有一个很大的黑框,里面有文本,只是为了测试,但不会出现在打印预览中 func fPrint(){ 让printingView=UIHostingController(rootView:PrintView()).view //获取PDF的NSDATA视图 让pdfData:NSMutableData=NSMutableData() 让pageSize:CGRect=

我正在尝试将视图从swiftui打印到打印机。除了出现“打印”对话框(预览为空视图)外,其他一切似乎都正常工作。我的PrintView有一个很大的黑框,里面有文本,只是为了测试,但不会出现在打印预览中

func fPrint(){
让printingView=UIHostingController(rootView:PrintView()).view
//获取PDF的NSDATA视图
让pdfData:NSMutableData=NSMutableData()
让pageSize:CGRect=CGRect()
UIGraphicsBeginPDFContextToData(pdfData,页面大小,无)
让pdfContext:CGContext=UIGraphicsGetCurrentContext()!
//创建单页PDF
UIGraphicsBeginPDFPage()
打印视图?.layer.render(在:pdfContext中)
UIGraphicsSendPdfContext();
//设置打印信息
让printInfo=UIPrintInfo(字典:nil)
printInfo.outputType=UIPrintInfo.outputType.general
printInfo.jobName=“打印作业”
printInfo.orientation=.portrait
//设置打印控制器
让printController=UIPrintInteractionController.shared
printController.printInfo=printInfo
printController.showsNumberOfCopies=true
printController.showsPaperSelectionForLoadedPapers=true
printController.printingItem=pdfData
printController.present(动画:true,completionHandler:nil)
}

我希望我能回答。显示这一点所需的工作要少得多-您只需使用模板创建一个应用程序,并在创建时使用NSDocument,然后只需在ContentView中添加一个图形。“打印”已连接到“文件”菜单中,并显示与您描述的完全相同的问题。我已经向苹果提交了FB7741161反馈,但没有回应。它也不适用于Xcode 12。