From 1fb393dd4947e39b1483d1ce3921c061675ae43b Mon Sep 17 00:00:00 2001 From: tobias <thinkdifferent055@gmail.com> Date: Thu, 29 Apr 2021 20:01:14 +0200 Subject: [PATCH] Update screenshot function --- .../View/UIViewController+Screenshot.swift | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/AppleLibs/View/UIViewController+Screenshot.swift b/AppleLibs/View/UIViewController+Screenshot.swift index c6e946b..585cf87 100644 --- a/AppleLibs/View/UIViewController+Screenshot.swift +++ b/AppleLibs/View/UIViewController+Screenshot.swift @@ -10,24 +10,20 @@ import UIKit extension UIViewController { open func takeScreenshot(_ shouldSave: Bool = false) -> UIImage? { - var screenshotImage :UIImage? - - let scale = UIScreen.main.scale - guard let layer = self.view.window?.layer else { + guard let window = self.view.window else { return nil } + let bounds = UIScreen.main.bounds - UIGraphicsBeginImageContextWithOptions(layer.frame.size, false, scale); - guard let context = UIGraphicsGetCurrentContext() else { + UIGraphicsBeginImageContextWithOptions(bounds.size, false, 0) + window.drawHierarchy(in: bounds, afterScreenUpdates: true) + guard let screenshotImage = UIGraphicsGetImageFromCurrentImageContext() else { return nil } - - layer.render(in:context) - screenshotImage = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() - if let image = screenshotImage, shouldSave { - UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil) + if shouldSave { + UIImageWriteToSavedPhotosAlbum(screenshotImage, nil, nil, nil) } return screenshotImage } -- GitLab