2
我正在使用UIGraphicsBeginPDFContextToData創建帶有多頁的PDF文件。一切工作正常...我的問題是,當應用程序創建一個更大的頁面數量,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;
}
完美!非常感謝。 – HMMurdoc 2011-05-02 13:32:18