【发布时间】:2017-04-07 08:40:10
【问题描述】:
我在父视图上有多个子视图,我需要将 uiview 转换为 uiimage 但只有某些子视图。因此,我在需要截取屏幕截图的视图中添加了一个标签,并将其添加到自己的视图中,但是当我尝试截取屏幕截图时,我得到了一个黑屏。但是,当我使用常规父视图时,我会得到一张包含所有子视图的照片。
let viewPic = UIView()
for subview in self.view.subviews {
if(subview.tag == 6) {
viewPic.addSubview(subview)
}
if(subview.tag == 8) {
viewPic.addSubview(subview)
}
}
let picImage = viewPic.getSnapshotImage() //This is a black screen
获取快照图像
extension UIView {
public func getSnapshotImage() -> UIImage {
UIGraphicsBeginImageContextWithOptions(self.bounds.size, self.isOpaque, 0)
self.drawHierarchy(in: self.bounds, afterScreenUpdates: false)
let snapshotItem: UIImage = UIGraphicsGetImageFromCurrentImageContext()!
UIGraphicsEndImageContext()
return snapshotItem
}
}
【问题讨论】:
-
参考这个答案,它可能会帮助你iOS Screenshot part of the screen