开发者社区> 问答> 正文

IOS中使用printer打印数组

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

举例:

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

展开
收起
爵霸 2016-03-23 09:42:16 1986 0
1 条回答
写回答
取消 提交回答
  • 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];
    }
    2019-07-17 19:10:19
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
手淘iOS性能优化探索 立即下载
From Java/Android to Swift iOS 立即下载
深入剖析iOS性能优化 立即下载