У меня есть этот код:
NSString *firstString = [[NSString stringWithFormat:@"%@",stringToWrite] stringByPaddingToLength:40 withString:@" " startingAtIndex:0];
NSString *finallyString = @"";
finallyString = [firstString stringByAppendingString:secondString];
с этим кодом у меня есть текстовое форматирование моей строки с двумя столбцами, но когда я печатаю эти строки с помощью метода airPrint, они теряют это текстовое форматирование.
Почему в NSLog все нормально, и когда я печатаю на бумаге, форматирование текста теряется?
код печати:
NSMutableString *printHead = [NSMutableString stringWithFormat:@"%@", @"words"];
for (int i = 0; i<myArray.count; i++)
{
[printHead appendFormat:@"\n\n\n"];
NSString *stringToWrite = [[myArray objectAtIndex:i]objectAtIndex:0];
NSString *firstString = [[NSString stringWithFormat:@"%@",stringToWrite] stringByPaddingToLength:40 withString:@" " startingAtIndex:0];
NSString *finallyString = @"";
finallyString = [firstString stringByAppendingString:[[myArray objectAtIndex:i]objectAtIndex:1]];
[printHead appendString:finallyString];
}
UIPrintInteractionController *pic = [UIPrintInteractionController sharedPrintController];
pic.delegate = self;
UIPrintInfo *printInfo = [UIPrintInfo printInfo];
printInfo.outputType = UIPrintInfoOutputGeneral;
pic.printInfo = printInfo;
UISimpleTextPrintFormatter *textFormatter = [[UISimpleTextPrintFormatter alloc] initWithText:printHead];
textFormatter.startPage = 0;
//textFormatter.color = [UIColor redColor];
textFormatter.contentInsets = UIEdgeInsetsMake(30.0, 30.0, 72.0, 72.0); // 1 inch margins
textFormatter.maximumContentWidth = 8 * 72.0;
pic.printFormatter = textFormatter;
[textFormatter release];
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);
}
};
[pic presentAnimated:YES completionHandler:completionHandler];