在Swift中使用PDFKit制作电子书阅读器
使用初始化注入创建PDFViewController
一旦将URL
属性注入到PDFViewController中,它将是不可变的。 这就是为什么我选择初始化注入而不是属性注入和方法注入的原因 。
注入的唯一属性是pdfUrl
,其他属性( document
和outline
可以在init()
期间设置,它们可以在本地类范围中访问。
pdfView
显示的内容由document
属性确定。 由于它永远不会改变,因此我还将通过init()
对其进行分配。
ThumbnailView浏览页面
ThumbnailView是PDFKit中的一项非常出色的功能。 唯一需要做的就是将pdfView
分配给它的pdfView
属性。 然后就完成了! 没有代表,没有通知,没有更多设置!🎉
概述以浏览各章
要转到某个页面,我们需要告诉pdfView
转到某个PDFPage
。 因此,我们需要深入研究document
中outline
的层次结构以获得所需的page
。
由于我将UITableViewController
用作popOver
,因此需要:
- 创建一个协议,以使
PDFViewController
符合它。 - 添加一些委托方法以访问
pdfView
中的PDFViewController
。 - 当用户选择某个单元格时,调用委托方法。