저는 UIGraphicsBeginPDFContextToData를 사용하여 여러 페이지로 PDF 파일을 만듭니다. 모든 것이 잘 작동합니다 ... 내 문제는 App이 짧은 시간 동안 정지하고 UI에 대한 제어권이없는 1 PDF에 대해 더 많은 양의 페이지를 만들 때입니다. PDF 파일이 올바르게 작성되었지만 로딩 화면이나 그와 비슷한 것을 표시하려고합니다. UIActivityIndicator 내의 UIAlertView 또는 툴바의 UIActivityIndicator와 같이 테스트 한 모든 것이 PDF가 완료된 후에 표시됩니다.iPad에서 애니메이션을 로딩하여 PDF를 만듭니다.
여기 NSData 객체를 만드는 내 방법입니다. NSLog는 올바른 출력을 보여줍니다 : PDF를 만드는 과정을 보여주는 방법을 모르겠습니다. 현재 페이지를 보여주는 간단한 UILabel은 내가 필요한 것일뿐입니다.
- (NSData *)createPDFData:(int)type {
NSLog(@"START");
NSMutableData *pdfData = [NSMutableData data];
UIGraphicsBeginPDFContextToData(pdfData, drawImage.bounds, nil);
if (type == 1) {
UIGraphicsBeginPDFPage();
if ([self loadPDFBackground]) [paperImage drawRect:paperImage.bounds];
[drawImage drawRect:drawImage.bounds];
} else if (type == 2) {
NSArray *images = [NSArray arrayWithArray:[self loadImagesForPDF]];
int imageCount = [images count];
for (int i=0; i<imageCount; i++) {
NSLog(@"%@", [NSString stringWithFormat:@"Page %i of %i", i+1, imageCount]);
drawImage.image = [images objectAtIndex:i];
UIGraphicsBeginPDFPage();
if ([self loadPDFBackground]) [paperImage drawRect:paperImage.bounds];
[drawImage drawRect:drawImage.bounds];
}
}
UIGraphicsEndPDFContext();
NSLog(@"END");
return pdfData;
}
Perfect! 고마워. – HMMurdoc