Как буферизовать страницы PDF на CALayers в iPhone

Я работаю над приложением PDFReader. Я использую CALayer для отображения содержимого PDF. В настоящее время одна страница PDF отображается за раз и отображается в видимом виде. Я хочу буферизовать несколько страниц (скажем, одну предыдущую страницу и одна следующая страница, например) заранее, пока пользователь читает текущую страницу. Может ли кто-нибудь предложить мне лучший способ достижения этого механизма буферизации? Заранее спасибо


person Hariprasad    schedule 13.09.2011    source источник


Ответы (2)


Вы можете взглянуть на это средство просмотра PDF с открытым исходным кодом для iOS, оно реализует функции, о которых вы спрашивали: http://www.vfr.org/2011/09/pdf-reader-viewer-v2-2/

person iPDFdev    schedule 13.09.2011

Если вы хотите нарисовать некоторый контент в фоновом режиме, вы можете изучить API Grand Central Dispatch и рисовать с помощью команд Core Graphics. Вам нужно будет соблюдать осторожность в отношении безопасности потоков, например, проверять/ждать завершения фонового рисования, прежде чем пытаться вывести результаты на дисплей.

Я нашел весьма полезный пост, Обработка изображений и рисование с использованием Quartz в фоновых потоках, гарантируя, что вы используете только потокобезопасные команды для создания контекста рисования (в примере создается контекст растрового изображения, но, очевидно, вы будете стремиться создать PDF-файл). контекст с использованием CGPDFContextCreate или подобного).

person Stuart    schedule 13.09.2011