Вы должны вернуть контейнер UIView
в метод делегата viewForZoomingInScrollView:
.В этом контейнере вы должны поместить все ваши PDF-представления бок о бок, как изображения.Теперь при увеличении вид контейнера будет увеличен вместе с его содержимым.Бум, готово.
За исключением того, что вам нужно создать масштабируемое представление PDF и убедиться, что вы не загружаете слишком много страниц одновременно, чтобы не использовать слишком много памяти.Вот тогда это становится непросто.
Создание масштабируемого представления PDF означает либо создание представления, содержащего изображение, которое вы будете визуализировать с помощью PDFKit , и обновление при каждом увеличении (представление с прокруткой)делегат говорит вам об этом), или вам придется использовать CATiledLayer для отображения страниц PDF в виде плиток, экономии памяти и повышения производительности.
Не загружая слишком много страниц, вам придется добавитьи удалите ваши представления PDF-страниц в / из представления контейнера, когда прокручивается представление прокрутки.
Я сделал это и для клиента, и на это уходит целая вечность, чтобы стать правым и без ошибок (по крайней мере, около 3 недель, если выне знаком с представлением прокрутки или PDFKit).См. этот вопрос о переполнении стека , чтобы начать, если вам хочется его построить.
Другой вариант - купить лицензию PSPDFKit , стоимость которой составляет 800 долларов США и около 2 часов.интеграции, чтобы заставить его работать в вашем приложении.После того, как я сам построил PDF-ридер, я бы выбрал второй вариант.Это сэкономит вам время и деньги.