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