UIPrintInteractionController

UIPrintInteractionController

我想打印一些PDF NSData,并且当我显示UIPrintInteractionController时,PDF可以正确显示,但是UITableViewCellUIPrintInteractionController上的文本和其他数据不可见。

图片:
ios - UIPrintInteractionController中的文本不可见-LMLPHP

码:

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

什么会导致这种问题,以及如何解决?

更新:

忽略此问题后,我发现我的应用程序中的UITableViewCell的任何子类默认都将textLabel.textColor设置为白色。而且我无法以编程方式或在IB中进行更改。

最佳答案

问题是我有UITableViewCell类别,它覆盖了layoutSubviews方法,例如:

- (void)layoutSubviews {
    [super layoutSubviews];

    // some configurations
}

删除此方法后,一切正常。

关于ios - UIPrintInteractionController中的文本不可见,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36279109/

10-10 06:13