Skip to content
Snippets Groups Projects
Commit 1fb393dd authored by Tobias Ullerich's avatar Tobias Ullerich
Browse files

Update screenshot function

parent 9301fbab
Branches
Tags
No related merge requests found
...@@ -10,24 +10,20 @@ import UIKit ...@@ -10,24 +10,20 @@ import UIKit
extension UIViewController extension UIViewController
{ {
open func takeScreenshot(_ shouldSave: Bool = false) -> UIImage? { open func takeScreenshot(_ shouldSave: Bool = false) -> UIImage? {
var screenshotImage :UIImage? guard let window = self.view.window else {
let scale = UIScreen.main.scale
guard let layer = self.view.window?.layer else {
return nil return nil
} }
let bounds = UIScreen.main.bounds
UIGraphicsBeginImageContextWithOptions(layer.frame.size, false, scale); UIGraphicsBeginImageContextWithOptions(bounds.size, false, 0)
guard let context = UIGraphicsGetCurrentContext() else { window.drawHierarchy(in: bounds, afterScreenUpdates: true)
guard let screenshotImage = UIGraphicsGetImageFromCurrentImageContext() else {
return nil return nil
} }
layer.render(in:context)
screenshotImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext() UIGraphicsEndImageContext()
if let image = screenshotImage, shouldSave { if shouldSave {
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil) UIImageWriteToSavedPhotosAlbum(screenshotImage, nil, nil, nil)
} }
return screenshotImage return screenshotImage
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment