如何在 iOS 的对象库中使用“pdfView”?

Posted

技术标签:

【中文标题】如何在 iOS 的对象库中使用“pdfView”?【英文标题】:How to use "pdfView" in object library in iOS? 【发布时间】:2013-11-08 13:03:56 【问题描述】:

我在“对象库”中看到 pdfView 存在,但是,当我点击 .XIB 时,它就消失了。我如何将它用于 iPhone 或 iPad 开发?请提供任何示例链接。谢谢。

注意:请不要告诉我使用任何 3rd 方库,因为我已经引用了两个。我不想使用前进。

【问题讨论】:

【参考方案1】:

PDFView 仅适用于 cocoa(OSX),不适用于 ios

PDFView 对象将 PDF Kit 的功能封装到一个小部件中,您可以将其添加到您的应用程序中

PDFKit 仅在 OSX 中可用。

在 iOS 中显示你不想使用任何第三方库的 pdf 页面,你可以通过创建一个自定义视图来绘制 pdf 视图,覆盖类似于

的绘制

获取pdf文档

  NSString *pathToPdfDoc = [[NSBundle mainBundle] pathForResource:@"aa" ofType:@"pdf"];
  NSURL *pdfUrl = [NSURL fileURLWithPath:pathToPdfDoc];
  document = CGPDFDocumentCreateWithURL((CFURLRef)pdfUrl);
  currentPage = 1;     

在drawRect中

-(void)drawRect:(CGRect)rect

    CGPDFPageRef page = CGPDFDocumentGetPage(document, currentPage);
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    CGContextSaveGState(ctx);
    CGContextTranslateCTM(ctx, 0.0, [self bounds].size.height);
    CGContextScaleCTM(ctx, 1.0, -1.0);
    CGContextConcatCTM(ctx, CGPDFPageGetDrawingTransform(page, kCGPDFCropBox, [self bounds], 0, true));
    CGContextDrawPDFPage(ctx, page);    
    CGContextRestoreGState(ctx);

【讨论】:

感谢您的回答。如果它适用于 OSX,那么如何添加 PDF 工具包并使用其功能在 iPAD 或 iPhone 中显示 PDF 文档。您能否发布一些详细代码或提供链接参考。什么是文件?什么是当前页面?请提供一些细节。 创建一个自定义视图(UIView 的子类)并按照我说的做。如果你没有得到让我知道。【参考方案2】:

您是否发布了两个几乎相同的问题?

几分钟前你发布了这个:Object library not visible when click on .XIB in xcode ios

我的答案仍然有效,您选择了 OSX xib NOT iOS xib。

如果您想在 iOS 应用中显示 PDF,可以将其添加到 UIWebView。详细看这个问题:iPhone : can we open pdf file using UIWebView?

【讨论】:

我试过了,但有些方法对我不起作用...你能发布任何教程吗?? 更新了我的答案。有一个关于如何在 UIWebView 中显示 PDF 的问题的链接。或者你可以看看 Anil 的答案。 谢谢。我会检查一下。

以上是关于如何在 iOS 的对象库中使用“pdfView”?的主要内容,如果未能解决你的问题,请参考以下文章

iOS:如何清除 PDFView?

在 PDFView (iOS) 上禁用缩放

如何在 ios 13 中禁用 pdfkit pdfview 中的查找、共享、转发菜单项

如何知道用户何时在 PDFKit 的 PDFView 中滑动到下一页?

iOS PDFKit在PDFView中调整pdf框架

无法在使用 Alamofire 下载的 PDFView IOS 中查看 PDF - SWIFT