M13PDFKit 是一个类似 iBooks 的 PDF 查看器,可以嵌入到 iOS 应用中。M13PDFKit 基于 vfr/Reader。后端使用 Reader 所使用的相同类,前端已重新创建以匹配 iOS 7 的设计,并使用更多最新特性,如 UICollectionViews。
source 'https://github.com/CocoaPods/Specs.git'
pod 'M13PDFKit', '1.0.2'
前提条件: 在 storyboard 中,打算显示 PDF 文件的 ViewController 需要位于 UINavigationController 栈中,并且对应的类需要是 PDFKBasicPDFViewer
接下来,在将要切换到 PDF ViewController 的 ViewController 的 prepareSegue
方法中,你需要添加以下行
Objective-C
//Create the document for the viewer when the segue is performed.
PDFKBasicPDFViewer *viewer = (PDFKBasicPDFViewer *)segue.destinationViewController;
//Load the document
PDFKDocument *document = [PDFKDocument documentWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Your PDF document actual location" ofType:@"pdf"] password:nil];
[viewer loadDocument:document];
Swift
//Create the document for the viewer when the segue is performed.
var viewer: PDFKBasicPDFViewer = segue.destinationViewController as PDFKBasicPDFViewer
//Load the document (pdfUrl represents the path on the phone of the pdf document you wish to load)
var document: PDFKDocument = PDFKDocument(contentsOfFile: pdfUrl!, password: nil)
viewer.loadDocument(document)
无论哪种情况,您都可以在这里看到示例 SamplesTableViewController(仅限 Objective-C)
有两个人工难以解决框架问题,希望得到帮助解决。
1) 查看器在旋转时存在问题。旋转后,屏幕上当前显示的页面不会调整到合适的大小。但是,在切换页面后,一切正常。
2) 在页面上缩放不允许平移。当平移时,有某种东西覆盖了内容偏移,并且没有调用 "setContentOffset:{0, 0}"。当平移时,滚动视图的平移手势发送了正确的内容偏移,但是滚动视图不进行平移。当你再次平移时,内容偏移会从 0 开始。它曾经工作过,但当尝试修复旋转时,它中断了,我无法找到错误。
如果您有任何问题、评论或建议,请给我发消息。如果您发现错误或希望提交拉取请求,请告诉我。
MIT 许可证
版权所有 (c) 2014 Brandon McQuilkin
任何人获得本软件和关联文档文件的副本(以下简称
"软件")后,特此免费许可,不受限制地使用、复制、修改、合并、发布、分发、许可和/或销售软件副本,并允许将软件提供给其他人进行此类行为,但须遵守
以下条件上述版权声明和本许可声明应当包含在软件的所有副本或主要部分中。
软件按“现状”提供,不提供任何形式,包括但不限于适用性保证、特定用途适用性保证和未经许可使用的保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任负责,无论基于合同、侵权或其他原因引起,无论源于、因之或与软件或软件的使用或其他方式有关的使用。