如何使用Swift打印整个Scroll View内容?

时间:2016-02-22 16:02:53

标签: ios swift uiscrollview

我真的厌倦了寻找解决方案,但仍然没有。 我有一个内部有许多元素的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
    }
}

0 个答案:

没有答案