我有一个iPad应用程序,我正在尝试从UIView生成一个PDF,它几乎完美地工作.
代码非常简单如下:
UIGraphicsBeginPDFContextToFile( filename, bounds, nil );
UIGraphicsBeginPDFPage();
CGContextRef pdfContext = UIGraphicsGetCurrentContext();
[view.layer renderInContext:pdfContext];
UIGraphicsEndPDFContext();
Run Code Online (Sandbox Code Playgroud)
这非常适用于一个奇怪的例外.如果在渲染为PDF之前视图已在屏幕上,则视图上的UILabel将作为精彩向量呈现给PDF.如果视图尚未显示在屏幕上(IE控制器是initWithNib等但尚未被推入导航控制器或其他任何东西),则文本将以"ipad"分辨率呈现为位图.
当我随后将其渲染为pdf上下文时,就像渲染到屏幕上的行为一样将视图渲染为矢量.
是否有一些我可以调用的方法或属性我可以在视图或图层或其他地方设置以模仿此行为而无需在屏幕上显示视图?
它与UIViewPrintFormatter有关吗?