1
我有一個父視圖的多個子視圖,我需要將uiview轉換爲uiimage,但只有某些子視圖。所以我給我需要截圖的視圖添加了一個標籤,並將其添加到了它自己的視圖中,但是當我嘗試截圖時,我會看到一個黑屏。但是,當我使用常規父視圖時,我會看到包含所有子視圖的照片。如何在不添加子視圖的情況下截取uiview?
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
getSnapshotImage
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的截圖部分屏幕(http://stackoverflow.com/questions/12687909/ios-screenshot-part-of-the-screen) – iDevAmit