나는 tableView의 전체 내용에서 PDF를 생성하려고합니다. 나는 (내가 생각하기에) stackoverflow에서 모든 예제를 시도하고 tableView의 행이 하나의 pdf 페이지에 들어 맞는 경우에만 작동한다. 두 페이지 이상을 포함하는 모든 데이터는 생성 할 수 없습니다. 그것을 주석 모든 페이지를 (죄송합니다, 저자을 기억하지 않는다)많은 페이지가있는 PDF로 UITable보기 (생성 할 수 없음)
var pdfData = NSMutableData()
UIGraphicsBeginPDFContextToData(pdfData, CGRectMake(0, 0, 612,792), nil);
UIGraphicsBeginPDFPage();
self.view.layer.renderInContext(UIGraphicsGetCurrentContext()!)
self.tableView.scrollRectToVisible(CGRectMake(0, 0, 1, 1), animated:false)
self.tableView.layer.renderInContext(UIGraphicsGetCurrentContext()!)
let screensInTable:CGFloat = self.tableView.contentSize.height/self.tableView.frame.height;
print("how many screens: \(screensInTable)")
for i in 1..<Int(screensInTable) {
let contentOffset = CGPointMake(0, CGFloat(i) * 100)//self.tableView.frame.height
print("content offset: \(contentOffset)")
self.tableView.setContentOffset(contentOffset, animated:false)
self.tableView.layer.renderInContext(UIGraphicsGetCurrentContext()!)
}
UIGraphicsEndPDFContext();
let activityViewController = UIActivityViewController(activityItems: [pdfData], applicationActivities: nil)
dispatch_async(dispatch_get_main_queue(), {
self.presentViewController(activityViewController, animated: false, completion: nil)
})
문제는 라인에 있습니다 : : : (거짓 애니메이션 contentOffset) self.tableView.setContentOffset
현재이 조각을 사용하여 생성되지만 첫 번째 콘텐츠에만 내용이 있습니다. 이 같은 떠날 때, activityViewController-에> 인쇄 미리보기는 끝없이 나는 또한 셀의 단일있는 contentView을 렌더링하기 위해 노력했습니다 미리보기를로드하지만 tableView.subviews을 반복 할 때 그것은 단지 눈에 보이는 세포
여전히 불행하게도 작동하지 않습니다. (html 작성을 끝내고 보고서로 보냈습니다. – repoguy