我真的厌倦了寻找解决方案,但仍然没有。 我有一个内部有许多元素的UIScrollView和一个用于打印计算的按钮。当我单击按钮时,模拟器让我只打印一页(使用当前屏幕内容)。但我需要的是一个完整的控制器打印。
现在代码如下:
@IBAction func printPressed(sender: AnyObject) {
let printInfo = UIPrintInfo(dictionary:nil)
printInfo.outputType = UIPrintInfoOutputType.General
printInfo.jobName = "My Print Job"
let printController = UIPrintInteractionController.sharedPrintController()
printController.printInfo = printInfo
printController.printingItem = self.view.toImage()
printController.presentFromRect(self.view.frame, inView: self.view, animated: true, completionHandler: nil)
}
扩展名:
extension UIView {
func toImage() -> UIImage {
UIGraphicsBeginImageContextWithOptions(bounds.size, false, UIScreen.mainScreen().scale)
drawViewHierarchyInRect(self.bounds, afterScreenUpdates: true)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image
}
}