我正在尝试为 QuickLook 框架创建一个多页 PDF 以进行打印,但在创建它时无法更新 UI(我希望用户获得剩余页数的倒计时)。下面的代码是我试图用线程睡眠的东西代替需要一段时间才能呈现的代码的简化版本。
- (void) testPDF
{
CGRect pageSize = CGRectMake(0.0f, 0.0f, 595.28, 841.89);
UIGraphicsBeginPDFContextToFile([self filePath], pageSize, nil);
{
UIGraphicsBeginPDFPage();
for( int y = 0; y < 5; y++ ) {
self.pageLabel.text = [NSString stringWithFormat:@"%d", y];
[[UIColor grayColor] set];
[@"test string" drawAtPoint:CGPointMake(0, y*20) withFont:[UIFont systemFontOfSize:15]];
NSDate *future = [NSDate dateWithTimeIntervalSinceNow: 1.0];
[NSThread sleepUntilDate:future];
}
}
UIGraphicsEndPDFContext();
}
就目前而言,我的代码呈现 PDF 但不更新 IBOutlet 'pageLabel',任何帮助将不胜感激。