-
Notifications
You must be signed in to change notification settings - Fork 0
/
SnapShotViewController.swift
68 lines (34 loc) · 1.13 KB
/
SnapShotViewController.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//
// ViewController.swift
// SampleApp
//
// Created by ITC Infotech on 05/07/17.
// Copyright © 2018 Rahul Patil. All rights reserved.
//
import UIKit
// Take snapshot of UIView programmatically.
class ViewController: UIViewController {
// Create one view
let customView = UIView()
override func viewDidLoad() {
super.viewDidLoad()
// Customize and some changes in UIView
customView.frame = CGRect(x: 20, y: 40, width: 200, height: 200)
customView.backgroundColor = UIColor.blue
view.addSubview(customView)
let image1 = customView.takeScreenShot()
print(image1) // we get image of UIView here.
}
}
extension UIView {
//Function - take screenshot of UIView with Graphics.
func takeScreenShot() -> UIImage {
UIGraphicsBeginImageContextWithOptions(self.bounds.size, false, UIScreen.main.scale)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
if image != nil {
return image!
}
return UIImage()
}
}