【发布时间】:2018-08-05 09:58:21
【问题描述】:
我正在尝试将整个视图控制器共享为图像或 PDF。下面是我用来将视图控制器共享为图像的当前代码,但我不确定如何修改边界以保存整个视图控制器,包括屏幕外的内容。我也不知道如何提供另存为图像或 PDF 的选项。
@IBAction func shareButton(_ sender: Any) {
let bounds = UIScreen.main.bounds
UIGraphicsBeginImageContextWithOptions(bounds.size, true, 0.0)
self.view.drawHierarchy(in: bounds, afterScreenUpdates: false)
let img = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
let activityViewController = UIActivityViewController(activityItems: [img!], applicationActivities: nil)
activityViewController.popoverPresentationController?.sourceView = self.view
self.present(activityViewController, animated: true, completion: nil)
}
【问题讨论】:
-
我想我最近在 stackoverflow 的其他地方看到了这个。生病寻找答案,但如果我没记错的话,您需要将
bounds.size更改为您需要捕获的总大小,然后设置点开始查看您的视图之外以捕获所有它。 -
现在只是为了确保,您不是要在屏幕外捕获表格或集合视图,对吧?因为几乎所有情况下,数据直到出现在屏幕上才会加载。
-
是的,我正在尝试捕获屏幕外的表格视图,因此不使用表格视图可能更容易,滚动视图是否允许我捕获屏幕外的内容?跨度>
-
是的。但如果你的数据太大,就会出问题
-
我尝试使用滚动视图,但它仍然只捕获屏幕上的内容,让 bounds = UIScreen.main.bounds 是问题,但我尝试将其更改为的所有内容都会导致错误
标签: ios swift pdf-generation share