По прогнозу MrMage, это, похоже, не имеет значения. Текст все еще пикселизирован / растеризован.

я есть приложение для iPad, и я пытаюсь создать PDF из UIView, и этопочти работает отлично.

Код действительно прост:

UIGraphicsBeginPDFContextToFile( filename, bounds, nil );
UIGraphicsBeginPDFPage();
CGContextRef pdfContext = UIGraphicsGetCurrentContext();
[view.layer renderInContext:pdfContext];
UIGraphicsEndPDFContext();

Это работает очень хорошо с одним странным исключением. Если представление было на экране до его визуализации в PDF, тогда UILabels на представлении будет отображаться в PDF как замечательные векторы. Если представление еще не было на экране (т.е. контроллером был initWithNib и т. Д., Но не было помещено в контроллер навигации или что-либо еще), то текст отображается в виде растрового изображения с разрешением «ipad».

Это похоже на то, как процесс рендеринга на экран настраивает вид для рендеринга в виде векторов, когда я впоследствии отрисовываю его в контексте PDF.

Есть ли какой-нибудь метод, который я могу вызвать, или свойство, которое я могу установить в представлении, слое или в другом месте, чтобы имитировать это поведение, не отображая вид на экране?

Это как-то связано с UIViewPrintFormatter?

Ответы на вопрос(5)

Ваш ответ на вопрос