我正在开发一个应用程序,需要通过AirPrint直接从iPad生成和打印访问者通行证.
我到处寻找如何打印视图,但我只能找到如何打印文本,webKit和mapKit.
有没有办法打印整个视图?如果没有,打印访客通行证将是一个很好的解决方案,它将是纯文本,方框和照片.谢谢.
我通过修改此处的代码找到了我的问题的答案:
AirPrint contents of a UIView
//create an extension to covert the view to an image extension UIView { func toImage() -> UIImage { UIGraphicsBeginImageContextWithOptions(bounds.size,false,UIScreen.mainScreen().scale) drawViewHierarchyInRect(self.bounds,afterScreenUpdates: true) let image = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() return image } } //In your view controller @IBAction func printButton(sender: AnyObject) { let printInfo = UIPrintInfo(dictionary:nil) printInfo.outputType = UIPrintInfoOutputType.General printInfo.jobName = "My Print Job" // Set up print controller let printController = UIPrintInteractionController.sharedPrintController() printController.printInfo = printInfo // Assign a UIImage version of my UIView as a printing iten printController.printingItem = self.view.toImage() // Do it printController.presentFromRect(self.view.frame,inView: self.view,animated: true,completionHandler: nil) }