Ваша идея абсолютно верна.
UIPageViewController может работать с источником данных (подобно контроллеру табличного представления).
Он принимает объект UIViewController в качестве каждой страницы.
Таким образом, идея заключается в том, что источник данных контроллера представления страниц создает CGPDFDocumentRef из пути / URL вашего pdf-файла, выбирает каждую страницу CGPDFDocumentGetPage(pdfDocRef, pageNumber)
создает объект контроллера представления, который может визуализировать эту страницу, и возвращает его с помощью методов источника данных.
Вы получите много документации / кода, которые помогут вам визуализировать CGPDFPageRef в вашем представлении. Это довольно легко.