diff --git a/AppleLibs/View/UIViewController+Screenshot.swift b/AppleLibs/View/UIViewController+Screenshot.swift
index c6e946b83fbdb2e1763a833e0b6ae3c5d2a36343..585cf87603ca3b8ca8d372b451c4fdc532f5434b 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
     }