我正在构建一个表单样式的应用程序,允许用户填写文本字段。一旦他们填满页面,它将继续进入第二个视图。这将是大约5页的患者表格。当他们到达最后一页时,我想要一个打印按钮,打印他们刚刚填写的所有5或6页。我正在尝试使用我最近在这里找到的AirPrint代码,但它只会让我执行当前视图。
extension UIView {
func toImage() -> UIImage {
UIGraphicsBeginImageContextWithOptions(bounds.size, false, UIScreen.main.scale)
// drawHierarchy(in: self.bounds, afterScreenUpdates: true)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image!
}
}
let pInfo = UIPrintInfo(dictionary:nil)
pInfo.outputType = UIPrintInfoOutputType.general
pInfo.jobName = "Print Patient Forms"
//Set up print controller
let printController = UIPrintInteractionController.shared
printController.printInfo = pInfo
//Assign a UIMage version of my UIView as a printing Item
printController.printingItem = self.view
var pInfo : UIPrintInfo = UIPrintInfo.printInfo()
pInfo.orientation = UIPrintInfoOrientation.portrait
let formatter = UIMarkupTextPrintFormatter(markupText: textView.text!)
printController.showsNumberOfCopies = false
printController.showsPageRange = true
printController.printFormatter = formatter printController.present(animated: true, completionHandler: nil)
如何让所有页面打印出来?