Как показать PDF страницу за страницей с помощью горизонтального пролистывания в iphone? - PullRequest
13 голосов
/ 20 сентября 2010

Я хочу создать постраничный читатель PDF.

Я знаю, как UIWebView можно использовать для отображения PDF, но он загрузит весь PDF и захочет показывать по одной странице за раз.

PDF хранится локально. Следующая и предыдущая страницы PDF должны быть загружены в зависимости от горизонтального пролистывания.

Как показать одну страницу вместе с функциями горизонтального прокрутки и масштабирования? Каков наилучший подход к такой проблеме? Есть ли учебник для этого?

РЕДАКТИРОВАТЬ: Я использовал API CGPDF, чтобы показать PDF страницу за страницей. Я использую страницу PDF в качестве изображения. Но масштабирование не работает должным образом, так как UIPageControl также используется. Как увеличить эти изображения вместе с контролем страницы?

Ответы [ 2 ]

10 голосов
/ 29 сентября 2011

Вы можете использовать Leaves View, вы можете найти учебник из

https://github.com/brow/leaves

второй вариант - FastPDFKit, вы можете получить его из

http://mobfarm.eu/

По моему мнению, листья более предпочтительны, потому что управление памятью хорошо, и это более удобно для пользователя.

РЕДАКТИРОВАТЬ:

Вы можете рассмотреть еще два варианта, которыеобеспечить некоторые полезные функции для PDF.

  1. Reader на Github
  2. PSPDFKit

Примечание : PSPDFKit не является бесплатным.

РЕДАКТИРОВАТЬ: Начиная с iOS 5, вы можете добавить эффект перелистывания страницы, как iBooks.Для этого вы можете использовать UIPageViewController .Чтобы получить основную идею, просто создайте приложение с страничным приложением из шаблона Xcode или вы можете обратиться к по этой ссылке .

0 голосов
/ 23 февраля 2011

вы добавляете в качестве подслоя слой tiledLayer, который рисует страницу PDF (CGContextDrawPDFPage) в UIView, а затем вы добавляете это как подпредставление в UIScrolView. Таким образом, у вас есть страница PDF, которую вы можете масштабировать, сжимая ее, и вы можете прокручивать.

Допустим, вы создали класс PDFViewController:

[myContentView.layer addSublayer: tiledLayer]; ... [scrollView addSubview: myContentView]; ... [self.view addSubview: scrollView];

и затем вы должны создать класс MagazineViewController, где у вас есть большой горизонтальный UIScrollView, в котором вы создаете представления из PDFViewController, которые содержат страницы. Таким образом, у вас есть представление, которое вы можете провести по горизонтали и просмотреть страницы журнала или книга.

...