当使用 UIMarkupTextPrintFormatter 打印几行简单的 HTML 时,它首先输出一个空白页,然后是带有文本的页面。代码如下,非常简单:
- (void) printSomething;
{
if (![UIPrintInteractionController isPrintingAvailable])
return;
NSString* markupText =@"<html><body>THIS IS A TEST</body></html>";
UIMarkupTextPrintFormatter* printFormatter =[ [ [UIMarkupTextPrintFormatter alloc] initWithMarkupText:markupText] autorelease];
UIPrintInteractionController* printInteractionController =[UIPrintInteractionController sharedPrintController];
printInteractionController.printFormatter =printFormatter;
printInteractionController.delegate =self;
//printInteractionController.showsPageRange =YES;
[printInteractionController presentAnimated:YES completionHandler:nil];
}
现在,如果我取消注释showsPageRange =YES,将按预期打印单页,但 UIPrintInteractionController 需要几秒钟才能出现。足以让用户怀疑应用程序是否冻结。
UIMarkupTextPrintFormatter 文档的第一行声明“ UIMarkupTextPrintFormatter 类的实例为多页打印作业布置 HTML 标记文本”。如果格式化程序打印多页,不管内容如何,这会有点疯狂......
知道这里有什么问题吗?其他应用程序这样做没有任何问题。提前致谢。