如果想對某個View去做螢幕截圖
該怎麼辦呢?
我們可以在你要的ViewController最外層加入以下程式碼:
extension UIView { func takeSnapshot() -> UIImage { UIGraphicsBeginImageContextWithOptions(bounds.size, false, UIScreen.main.scale) drawHierarchy(in: self.bounds, afterScreenUpdates: true) let image = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() return image! } }
之後只要在你想截圖的View上面呼叫就可以回傳對應圖片
tempImage = RootImageView.takeSnapshot()
如果你又想把這個截圖存在相簿中,就再加一行如下:
UIImageWriteToSavedPhotosAlbum(tempImage, nil, nil, nil);
沒有留言: