2015-07-22 1 views
0

J'essayais d'imprimer à travers un AirPrint un UITextView que l'utilisateur remplit, un peu comme un bloc de notes. Cette déclaration ci-dessous est le UITextField Je veux imprimer:Comment imprimer un objectif UITextView iOS 8 C

IBOutlet UITextView *texto; 

Et voici mon code d'impression:

-(IBAction)imprimir:(id)sender{ 
UIPrintInteractionController *print = [UIPrintInteractionController sharedPrintController]; 
print.delegate = self; 
NSData* datos=[texto.text dataUsingEncoding:NSUTF8StringEncoding]; 
print.printingItem = datos; 
UIPrintInfo *printInfo = [UIPrintInfo printInfo]; 
printInfo.outputType = UIPrintInfoOutputGeneral; 
printInfo.jobName [email protected]"Mis Notas"; 
printInfo.duplex = UIPrintInfoDuplexLongEdge; 
print.printInfo = printInfo; 
print.showsPageRange = YES; 
print.printingItem = texto.text; 

void (^completionHandler)(UIPrintInteractionController *,BOOL, NSError *) = ^(UIPrintInteractionController *print,BOOL completed, NSError *error) { 
    if (!completed && error) { 
     NSLog(@"No se pudo imprimir"); 
    } 
}; 
[print presentAnimated:NO completionHandler:completionHandler]; 
} 

Xcode me dit aussi une erreur print.delegate = self; comme si je besoin d'un autre type de ViewController, Je ne sais vraiment pas. Les sources que j'ai trouvées utilisent un ViewController normal. L'erreur est: "Affectation à 'ID < UIPrintInteractionControllerDelegate <' du type incompatible 'ViewController * const_strong'". Merci!

+0

Je ne sais pas beaucoup sur UIPrintInteractionController, mais que diriez-vous interfacer le UIPrintInteractionControllerDelegate (https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIPrintInteractionControllerDelegate_Protocol/)? –

Répondre

0
if([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad) { 
UIPrintInteractionController *print = [UIPrintInteractionController sharedPrintController]; 
print.delegate = self; 
NSData* datos=[_label.text dataUsingEncoding:NSUTF8StringEncoding]; 
print.printingItem = datos; 
UIPrintInfo *printInfo = [UIPrintInfo printInfo]; 
printInfo.outputType = UIPrintInfoOutputGeneral; 
printInfo.jobName [email protected]"Mis Notas"; 
printInfo.duplex = UIPrintInfoDuplexLongEdge; 
print.printInfo = printInfo; 
print.showsPageRange = YES; 
print.printingItem = _label.text; 

void (^completionHandler)(UIPrintInteractionController *,BOOL, NSError *) = ^(UIPrintInteractionController *print,BOOL completed, NSError *error) { 
    if (!completed && error) { 
     NSLog(@"No se pudo imprimir"); 
    } 
}; 
[print presentAnimated:NO completionHandler:completionHandler]; 
} 
+0

Merci pour votre réponse, mais j'ai toujours une erreur ... Il dit: "Assigner à 'id ' de type incompatible 'ViewController * const _strong'". Que pourrait-il être ... Je suis désolé je ne suis même pas un anglophone ainsi de comprendre quelle est l'erreur ... –

+0

Vous travaillez dans iOS8? –

+0

Quelle est votre langue? –