大家!
我在Swift 3中工作,但是如果在Swift 3中没有解决方案,我将愿意在Swift 2中工作。
我有一个UICollectionView和一个UIImageView,它与图像一起包含在UIView中(所有这些都包含在UIScrollView中,这意味着很多内容不在屏幕上)。如果我不知道如何使用UICollectionView和UIImageView的全部内容打印出UIView的内容(或至少是UICollectionView的内容),那么我正在制作的应用程序将无用。
我已经研究了一天,想出了我将在下面列出的资源,但是我仍然不知道如何实现我的目标。有人对我有什么建议吗?
打印出“收藏夹视图”的一种可能替代方法是使用包含在收藏夹视图内的信息(每个单元格一张图像和3个标签)创建PDF或“图像”,而不必自己打印收藏夹视图。如果您可以指出这样做的方法,那将同样有帮助。
感谢您的时间!
我的研究结果:(堆栈溢出不会让我发布两个以上的链接,因此请原谅切碎的链接)
Apple文档:(我还无法理解这一点,但我正在设法弄清楚。)
https://developer。苹果.com /library/ios/documentation/2DDrawing/Conceptual/DrawingPrintingiOS/GeneratingPDF/GeneratingPDF.html
疯狂的框架存储库,包括pdf生成器:
github。 com / vsouza / awesome-ios#pdf
如何使用swift将UIView转换为图像:(我不知道这是否将截取页面上的内容的屏幕快照,或者是否将截取整个视图的屏幕快照。)
How to convert a UIview to a image
Apple功能文档:(这是对上述stackoverflow问题链接的补充。)
开发人员。苹果。 com / library / ios / documentation / UIKit / Reference / UIKitFunctionReference /#// apple_ref / c / func / UIGraphicsGetImageFromCurrentImageContext
PDFGenerator:(这具有最大的潜力,但是我还不知道如何使用它。)
https://github.com/sgr-ksmt/PDFGenerator
最佳答案
PDFGenerator Features:
UIScrollView支持:如果视图是UIScrollView,UITableView,UICollectionView,UIWebView,则绘制整个内容。
他们还在github上有一个演示应用程序。
示例字体:ScrollView:
func generatePDF() {
let v1 = UIScrollView(frame: CGRect(x: 0.0,y: 0, width: 100.0, height: 100.0))
let v2 = UIView(frame: CGRect(x: 0.0,y: 0, width: 100.0, height: 200.0))
let v3 = UIView(frame: CGRect(x: 0.0,y: 0, width: 100.0, height: 200.0))
v1.backgroundColor = .red
v1.contentSize = CGSize(width: 100.0, height: 200.0)
v2.backgroundColor = .green
v3.backgroundColor = .blue
let dst = URL(fileURLWithPath: NSTemporaryDirectory().appending("sample1.pdf"))
// outputs as Data
do {
let data = try PDFGenerator.generated(by: [v1, v2, v3])
data.write(to: dst, options: .atomic)
} catch (let error) {
print(error)
}
// writes to Disk directly.
do {
try PDFGenerator.generate([v1, v2, v3], to: dst)
} catch (let error) {
print(error)
}
}
关于ios - 如何将完整的uicollectionview打印到图像或pdf,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38748780/