Мое приложение отображает PDF-файлы с использованием PDFKit и позволяет пользователям создавать аннотации к pdf-файлам через мой собственный код с использованием фреймворков UIKit
и CoreGraphics
. Поскольку я хотел бы использовать фреймворк PencilKit для улучшения аннотаций, я нахожусь в процессе реализации фреймворка PencilKit
, но я обнаружил некоторые проблемы, с которыми я застрял.
Я добавил PKCanvasView
к DocumentView
PDFView. По сути, он работает отлично, я могу комментировать, используя инструменты PencilKit
, и я могу перемещаться по страницам PDF.
Проблема появляется, когда я увеличиваю на странице PDF. Поскольку PKCanvasView
не масштабируется сам по себе, а находится внутри DocumentView
, аннотации к чернилам выглядят точечно. PKCanvasView
не перерисовывает содержимое с новым масштабом, потому что его масштаб не изменился, и обновление contentScaleFactor
, чтобы сделать рисунок более четким, не работает.
Другая проблема, в некотором роде связанная с предыдущей, поскольку приложение подгоняет каждую страницу PDF для использования всего экрана, это приводит к увеличению UIScrollView
, который содержит DocumentView
PDFView, зависит от размера страницы PDF. Это означает, что если я открою PDF-файл с небольшими страницами, а другой - с большими, с точки зрения размера (ширина х высота), я увижу ширину линий инструмента рисования с разными размерами, даже если я выбрал наименьшее ширина строки в PKToolPicker
для обоих файлов.
Так что мне интересно, возможно ли добавить PKCanvasView
и PDFView отдельно в UIViewController’s
представление, чтобы они оба имели одинаковое superview
, с тем же ContentSize и максимальным / минимальным уровнем масштабирования, а при панорамировании и масштабировании PKCanvasView
PDFView делает то же самое.
В любом случае, если есть обходной путь, я был бы рад узнать. ;)