作者:林泳_钿 | 来源:互联网 | 2023-09-10 09:55
我正在将QLPreviewController添加为我的viewcontroller中的子视图。下面是添加代码。
self.previewCOntroller= QLPreviewController()
previewController.dataSource = self
//present(previewController,animated: true)
previewController.view.frame = self.previewLayer.bounds
self.previewLayer.addSubview(previewController.view)
previewController.didmove(toParent: self)
self.view.layoutIfNeeded()
当我拍摄屏幕截图时,屏幕上的所有内容都会被捕获,而不是QLPreviewController(正在显示xls表)
我尝试了多种捕获屏幕结果的方法,每次的结果几乎相同。
extension UIApplication {
var screenshot: UIImage? {
UIGraphicsBeginImageContextWithOptions(UIScreen.main.bounds.size,false,0)
guard let cOntext= UIGraphicsgetcurrentContext() else { return nil }
for window in windows {
window.layer.render(in: context)
}
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image
}
}
DispatchQueue.main.async {
let screenshot = UIApplication.shared.screenshot
UIImageWriteToSavedPhotosAlbum(screenshot!,nil,nil)
}