2016-03-29 2 views
1

Je veux imprimer PDF NSData, et quand je présente UIPrintInteractionController PDF présente correctement, mais le texte et d'autres données sur UITableViewCell de UIPrintInteractionController pas visible.Texte dans UIPrintInteractionController n'est pas visible

Image: enter image description here

code:

UIPrintInteractionController *printController = [UIPrintInteractionController sharedPrintController]; 

printController.delegate = self; 

UIPrintInfo *printInfo = [UIPrintInfo printInfo]; 
printInfo.outputType = UIPrintInfoOutputGeneral; 
printInfo.jobName = [self.pdfURL lastPathComponent]; 
printInfo.duplex = UIPrintInfoDuplexLongEdge; 
printController.printInfo = printInfo; 
printController.showsPageRange = YES; 
printController.printingItem = self.pdfData; 

void (^completionHandler)(UIPrintInteractionController *, BOOL, NSError *) = ^(UIPrintInteractionController *printController, BOOL completed, NSError *error) { 
    if (!completed && error) { 
     NSLog(@"FAILED! due to error in domain %@ with error code %lu", error.domain, (long)error.code); 
    } 
}; 

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 
    [printController presentFromBarButtonItem:sender animated:true completionHandler:completionHandler]; 
} else { 
    [printController presentAnimated:YES completionHandler:completionHandler]; 
} 

Que peut causer ce problème et comment le résoudre?

MISE À JOUR:

Après avoir ignoré cette question, je trouve que toute sous-classe de UITableViewCell dans mon application a textLabel.textColor fixé par défaut à la couleur blanche. Et je ne peux pas le modifier par programme ou dans IB.

Répondre

0

Le problème était que je catégorie de UITableViewCell qui remplace la méthode layoutSubviews comme:

- (void)layoutSubviews { 
    [super layoutSubviews]; 

    // some configurations 
} 

Après avoir retiré cette méthode, tout fonctionne bien.