Да, это возможно.
Я думаю, что лучший подход - нарисовать PDF-файл с помощью CoreGraphics CGPDFDocument и CGPDFPage API. Чтобы добавить свои дополнительные слои выше, вы можете использовать один из следующих:
- Используйте подпредставления вашего представления PDF для рендеринга.
- Используйте CALayer для добавления подслоев в основной слой представления рендеринга PDF.
- Нарисуйте свой контент в том же слое, что и слой PDF.
С первым решением вы получаете сенсорное добавление UITapGestureRecognizer к подпредставлениям. С двумя другими вы добавляете распознаватель жестов в представление PDF, а затем должны указать, где пользователь нажал.