gpt4 book ai didi

ios - UIDocumentInteractionController 显示空白 pdf

转载 作者:IT王子 更新时间:2023-10-29 05:53:49 25 4
gpt4 key购买 nike

我尝试使用 UIDocumentInteractionController presentPreviewAnimated 方法在 iOS 设备上显示 pdf,但它一直显示空白文档。我认为这可能与字符编码有关,但我不确定。如果我使用 UIWebView,我可以获得要显示的 pdf,只是不使用文档交互 Controller 。

//2014 年 9 月 18 日更新现在可以使用 Xcode 6 的 GM 版本。

//2014 年 8 月 22 日更新

奇怪的是,在 DocumentInteractionController 中,如果我点击右上角的“打开方式”图标并选择 iBooks 之类的内容,pdf 会正确显示。似乎只是不想在屏幕上显示它的预览。

这是我的代码(在 Swift 中):

// data is coming in as NSISOLatin1StringEncoding
func displayPdfInUIDocumentInteractionController(data: NSData) {

let fileName = NSTemporaryDirectory().stringByAppendingPathComponent("myFile.pdf")
let url: NSURL! = NSURL(fileURLWithPath: fileName)

// this does not seem to make a difference
// let pdfString = NSString(data: data, encoding: NSISOLatin1StringEncoding)
// pdfString.writeToURL(url!, atomically: true, encoding: NSISOLatin1StringEncoding, error: nil)

data.writeToURL(url, atomically: true)
if url != nil {
let docController = UIDocumentInteractionController(URL: url)
docController.UTI = "com.adobe.pdf"
docController.delegate = self
docController.presentPreviewAnimated(true)
}
}

此代码确实正确显示了 pdf:

// data is coming in as NSISOLatin1StringEncoding
func displayPdfInUIWebView(data: NSData) {

let rect = UIScreen.mainScreen().bounds
let screenSize = rect.size

let webView = UIWebView(frame: CGRectMake(0,0,screenSize.width,screenSize.height))
webView.autoresizesSubviews = true
webView.autoresizingMask = (UIViewAutoresizing.FlexibleHeight | UIViewAutoresizing.FlexibleWidth)

webView.loadData(data, MIMETYype: "application/pdf", textEncodingName: "ISO-8859-1", baseUrl: nil)

self.view.addSubview(webView)
}

第一个函数不工作有什么原因吗?它不会出错,只是显示一个空白页。

最佳答案

我没有使用 Swift,但我在直接使用 Objective-C 时遇到了基本相同的问题。在 iOS8 之前,我的 UIDocumentInteractionController 显示了几乎所有我扔给它的文件类型,包括 PDF。但在 iOS8 中,PDF 文件将不再为我显示。

我是这样创建的:

[[[UIDocumentInteractionController alloc] init] autorelease]

我改变了调用方式来创建它:

[UIDocumentInteractionController interactionControllerWithURL:myUrl]

现在我的 PDF 文件再次显示(其他的似乎也正常)。

关于ios - UIDocumentInteractionController 显示空白 pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25430069/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com