IOS中使用printer打印數組

原問題來自於CSDN問答頻道,更多解決方案見:http://ask.csdn.net/questions/2512

問題描述:

在IOS中有三個nsmutable數組。要使用printer打印類似下面的數據,怎麼實現?

舉例:

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

解決方案:

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];
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章