0

我正在尝试使用自定义将 PDF 文件打开到我的应用程序UIBarButtonItem中,有UINavigationBar两个选项可以打开 pdf 到IOS

-UIDocumentInteractionController
-QLPreviewController 

IOS6我发现这篇文章证明我们无法自定义UINavigationBar

iOS6 QLPreviewController 中带有 QLPreviewController 的自定义 navigationItem 按钮
删除或添加 UIBarButtonItems
http://www.cimgf.com/2012/07/11/a-better-fullscreen-asset-viewer-with-quicklook/ UIDocumentInteractionController 中的
自定义“电子邮件”操作

iOS6更新这种覆盖QLPreviewController将不再起作用的技术iOS 6。我已经联系了苹果公司,但他们只是说它不再受支持,它被认为是私有 API”是否有任何其他方法可以在IOS没有的情况下打开 PDF使用UIWebView和 自定义UIBarButtonItem.

4

1 回答 1

1

我不知道您究竟想对 PDF 做什么,但您可以使用如下代码从捆绑包中打开一个 PDF 文件:

CGPDFDocumentRef pdfDoc;
CGPDFPageRef pdfPage;

NSURL* pdfURL = [[NSBundle mainBundle] URLForResource:@"filename" withExtension:@"pdf"];

CFURLRef urlRef = (__bridge CFURLRef)pdfURL;
pdfDoc = CGPDFDocumentCreateWithURL(urlRef);

if (pdfDoc == NULL) {
    // Not good
}

if (CGPDFDocumentIsEncrypted (pdfDoc)) {
    if (!CGPDFDocumentUnlockWithPassword (pdfDoc, "")) {
        if (!CGPDFDocumentUnlockWithPassword (pdfDoc, "password")) {
                        // Not good, document is locked
        }
    }
}

if (!CGPDFDocumentIsUnlocked (pdfDoc)) {
    CGPDFDocumentRelease(pdfDoc);
} else {
    pdfPage = CGPDFDocumentGetPage(pdfDoc, 1);
    CGPDFPageRetain(pdfPage);
    // ...
}

从此时起,Apple 的文档应该可以帮助您:

Quartz 2D 编程指南

核心图形框架参考

于 2013-07-12T13:19:35.470 回答