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のスクリーンショットの一部screen](http://stackoverflow.com/questions/12687909/ios-screenshot-part-of-the-screen) – iDevAmit