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

Update screenshot function

parent 9301fbab
Branches
No related tags found
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