如何在 iPad 中实现不使用 UIWebView 的 PDF 阅读器
Posted
技术标签:
【中文标题】如何在 iPad 中实现不使用 UIWebView 的 PDF 阅读器【英文标题】:How can i implement a PDF reader not using UIWebView in iPad 【发布时间】:2010-06-03 06:15:14 【问题描述】:我们如何在不使用UIWebView
的情况下为 iPad 实现 PDF 阅读器?它需要添加手势以通过手触摸更改页面的选项。我该怎么做?为此需要实现哪些类。
更新:
我得到了类似 Quartz 2D Programming Guide for PDF Documents 的东西。但我无法确定我应该在哪里放置 PDF 的上下文。我应该把它放在UIView
吗?
参考:http://developer.apple.com/iphone/library/documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_pdf/dq_pdf.html#//apple_ref/doc/uid/TP30001066-CH214-TPXREF109
【问题讨论】:
Haiii 伙计们...我得到了类似 Quartz 2D Programming Guide for PDF Documents 的东西。但我无法确定我应该在哪里放置 pdf 的上下文。我应该把它放在 UIView 中吗?请立即回复我。谢谢你 Sagar S. Kadookkunnan developer.apple.com/iphone/library/documentation/… 参考:- 【参考方案1】:CGPDFDocument 由一系列页面组成。如果您使用 CGPDFPageRef 成员创建自定义 UIView,则可以使用它来绘制页面。
@interface ExamplePDFPageView : UIView
CGPDFPageRef page;
@end
@implementation ExamplePDFPageView
-(void) drawRect:(CGRect)inFrame
CGContextDrawPDFPage( UIGraphicsGetCurrentContext() , page );
@end
这是构建 pdf 阅读器的基本构建块。您可以让视图拥有整个文档而不仅仅是一页,但绘图是每页完成的。我通常让一些控制器类拥有文档并将页面分配给视图。
对于手势,将 UISwipeGestureRecognizer 或其他手势识别器添加到视图。
【讨论】:
【参考方案2】:阅读《Quartz 2D Programming Guide》,并在 XCode 文档中搜索 CGPDF... 函数。
【讨论】:
以上是关于如何在 iPad 中实现不使用 UIWebView 的 PDF 阅读器的主要内容,如果未能解决你的问题,请参考以下文章
如何强制在 UIWebView 中播放的视频在 iPad 上全屏显示?
在 iPhone 和 iPad 上使用 UIWebView 进行隐私浏览
你能在 Sqlite3(使用 Django)中实现不区分大小写的“唯一”约束吗?