隐藏在图像背后的容器的程序设计截图

时间:2016-04-27 00:52:59

标签: ios swift uigraphicscontext

所以我已经使用此代码截取屏幕上可见的特定区域(表格单元格):

UIGraphicsBeginImageContextWithOptions(inputView.bounds.size, false, 0.0)
inputView.layer.renderInContext(UIGraphicsGetCurrentContext()!)
let image = UIGraphicsGetImageFromCurrentImageContext() as UIImage
UIGraphicsEndImageContext()
let cellSnapshot : UIView = UIImageView(image: image)

然而,现在我的目标更复杂了:

  1. 首先,以编程方式截取整个屏幕
  2. 向用户提出,基本上将它们隐藏片刻
  3. 然后我会在图片后面移动一些东西
  4. 棘手的部分... 虽然图像仍然隐藏了新设置,但我想截取/捕获视图排列的图像(包括图像下的每个视图)。

    为什么这样? VC不会改变,但我会在第二张图片中滑动,看起来这个新布局是一个新的屏幕。

    这可能吗?

1 个答案:

答案 0 :(得分:0)

所以这里是拍摄任何视图快照的代码!只需粘贴此功能并将其传递给您想要捕获的视图!

let pictureOfView = snapshotOfView(passAViewHere)

func snapshotOfView (inputView: UIView) -> UIView {
    UIGraphicsBeginImageContextWithOptions(inputView.bounds.size, false, 0.0)
    inputView.layer.renderInContext(UIGraphicsGetCurrentContext()!)
    let image = UIGraphicsGetImageFromCurrentImageContext() as UIImage
    UIGraphicsEndImageContext()
    let cellSnapshot : UIView = UIImageView(image: image)
    cellSnapshot.layer.masksToBounds = false

    return cellSnapshot
}