2 u010321179 u010321179 于 2013.05.09 13:49 提问

IOS中使用printer打印数组

在IOS中有三个nsmutable数组。要使用printer打印类似下面的数据,怎么实现?

举例:

 0.5    1    10
 1      10   11
 2      5    22
 3      4    6

1个回答

loveiflower
loveiflower   2013.05.09 15:19
已采纳

UIPrintInteractionController来实现:

具体代码:

NSMutableString *stringToPrint = [[NSMutableString alloc] initWithString:@""];
for(int i = 0;i<[array count];i++)
{
    [stringToPrint appendFormat:@"%@",[array objectAtIndex:i]];
    if(i%2 == 0)
    {
        [stringToPrint appendFormat:@"\n"];
    }
    else
    {
         [stringToPrint appendFormat:@"\t"];
    }
}
UIPrintInteractionController *pic = [UIPrintInteractionController sharedPrintController];

UIPrintInfo *printInfo = [UIPrintInfo printInfo];
printInfo.outputType = UIPrintInfoOutputGeneral;
printInfo.jobName = @"Midhun";
pic.printInfo = printInfo;

UISimpleTextPrintFormatter *textFormatter = [[UISimpleTextPrintFormatter alloc]
                                             initWithText:stringToPrint];
textFormatter.startPage = 0;
textFormatter.contentInsets = UIEdgeInsetsMake(72.0, 72.0, 72.0, 72.0); // 1 inch margins
textFormatter.maximumContentWidth = 6 * 72.0;
pic.printFormatter = textFormatter;
pic.showsPageRange = YES;

void (^completionHandler)(UIPrintInteractionController *, BOOL, NSError *) =
^(UIPrintInteractionController *printController, BOOL completed, NSError *error)
{
    if (!completed && error)
    {
        NSLog(@"Printing could not complete because of error: %@", error);
    }
};
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
    [pic presentFromBarButtonItem:sender animated:YES completionHandler:completionHandler];
}
else
{
    [pic presentAnimated:YES completionHandler:completionHandler];
}
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!