【发布时间】:2015-03-17 02:56:27
【问题描述】:
我需要从 UICollectionView 完整内容 创建一个 PDF。我目前能够从 UICollectionView Visible 部分创建一个 pdf。请帮帮我,我想显示集合视图的全部内容。
【问题讨论】:
-
面临同样的问题
标签: ios iphone pdf pdf-generation uicollectionview
我需要从 UICollectionView 完整内容 创建一个 PDF。我目前能够从 UICollectionView Visible 部分创建一个 pdf。请帮帮我,我想显示集合视图的全部内容。
【问题讨论】:
标签: ios iphone pdf pdf-generation uicollectionview
我就是这样解决的。 (斯威夫特 3.x)
class PdfTools {
func generatePdfFromCollectionView(_ collectionView: UICollectionView?, filename:String, success:(String) -> ()) {
guard let collectionView = collectionView else {
return
}
let pdfData = NSMutableData()
let contentArea = CGRect(
x: 0,
y: 0,
width: collectionView.contentSize.width,
height: collectionView.contentSize.height
)
collectionView.frame = contentArea
UIGraphicsBeginPDFContextToData(pdfData, contentArea, nil)
UIGraphicsBeginPDFPage()
collectionView.drawHierarchy(in: collectionView.bounds, afterScreenUpdates: true)
UIGraphicsEndPDFContext()
if let filepath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first {
let fileFullPath = filepath + "/" + filename
if pdfData.write(toFile: fileFullPath, atomically: true) {
success(fileFullPath)
}
}
}
}
这就是你使用它的方式。
let pdfTool = PdfTool()
pdfTool.generatePdfFromCollectionView(self.collectionView, filename: "myFancy.pdf") { (filename) in
// use your pdf here
}
【讨论】: