Swift,swiftcode
Swift - UIView的無損
效果
源碼
//// UIView+ScreensShot.swift// Swift-Animations//// Created by YouXianMing on 16/9/5.// Copyright © 2016年 YouXianMing. All rights reserved.//import UIKitextension UIView { /** Get the view's screen shot, this function may be called from any thread of your app. - returns: The screen shot's image. */ func screenShot() -> UIImage? { guard frame.size.height > 0 && frame.size.width > 0 else { return nil } UIGraphicsBeginImageContextWithOptions(frame.size, false, 0) layer.renderInContext(UIGraphicsGetCurrentContext()!) let image = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() return image }}
使用
//// ViewController.swift// ScreenShot//// Created by YouXianMing on 16/9/5.// Copyright © 2016年 YouXianMing. All rights reserved.//import UIKitclass ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let redView = UIView(frame: CGRectMake(40, 40, 200, 200)) redView.backgroundColor = UIColor.redColor().colorWithAlphaComponent(0.5) view.addSubview(redView) let imageView = UIImageView(image: redView.screenShot()) view.addSubview(imageView) }}