1

我有一个 UIView 包含很多东西,包括底部的 UITableView。我需要打印此页面并在最终产品中显示所有行,但我遇到了当前在 TableView 中不可见的行的问题。

我目前获得最终产品的尝试是将我的视图转换为 PDF,并且我已经准备好 Apple 的绘图和打印指南,但它并没有提供我需要的所有步骤。

如何打印 UIView 并使 UIView 中的所有 TableView 行显示在打印中?

4

2 回答 2

0

试试 contentSize 方法,它继承自 UITableView 的超类 UIScrollView。但是,您可能会发现 contentSize 返回的值不正确或过时,因此您可能应该首先调用 layoutIfNeeded 来重新计算表格的布局。

 [tableView layoutIfNeeded];

// 允许您在绘制周期发生之前执行布局。//-layoutIfNeeded 提前强制布局。所以它会正确返回大小。就像做梦之前做的一样。

CGSize newTableSize=tableView.contentSize;
于 2013-07-30T04:19:52.807 回答
0
- (NSMutableData*)generatePDF {

    NSMutableData * pdfData=[NSMutableData data];

    [[NSBundle mainBundle] loadNibNamed:@"PDFView" owner:self options:nil];

    UIGraphicsBeginPDFContextToData(pdfData, CGRectZero,nil);
    CGContextRef pdfContext=UIGraphicsGetCurrentContext();


    UIGraphicsBeginPDFPage();

   //  update the UI elements (IBOutlet on xib file)


   //PDFView is main view on xib file containing uitableview too 

    [self.PDFView.layer renderInContext:pdfContext]; 

    //  end PDF context.

    UIGraphicsEndPDFContext();

    return pdfData;
}
于 2015-05-26T18:09:01.957 回答