如何在ios中截取屏幕截图。

时间:2016-06-24 07:49:41

标签: swift

swift的新手。我想截取视图控制器的截图,除了视图1以外的所有视图,视图3包含动态高度的栈视图。我知道如何获取viewcontroller的完整屏幕截图但我怎么能实现这一点。任何帮助。

enter image description here

1 个答案:

答案 0 :(得分:1)

一种简单的方法是在渲染内容之前隐藏这两个视图,并在完成渲染后使它们可见。

view1.hidden = true
view3.hidden = true    
UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, false, UIScreen.mainScreen().scale)
let ctx: CGContextRef = UIGraphicsGetCurrentContext()!
CGContextTranslateCTM(ctx,0,0)
UIColor.blackColor().set()
CGContextFillRect(ctx, previewRect)
view.layer.renderInContext(ctx)
let previewImage: UIImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
view1.hidden = false
view3.hidden = false