Визуализация UIView в PDF в виде векторов на iPad - Иногда отображается как растровое изображение, иногда как векторы

У меня есть приложение для iPad, и я пытаюсь сгенерировать PDF-файл из UIView, и он почти работает отлично.

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

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

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

Это похоже на акт рендеринга на экран настраивает представление, которое будет отображаться как векторы, когда я впоследствии визуализирую его в контексте pdf.

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

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

27
задан Jack Casey 21 June 2011 в 09:25
поделиться