无法使用 Swift 3 在 webView 中打印 PDF,需要带有初始值设定项的 baseURL
Can't print PDF in webView using Swift 3, wants baseURL with initializers
我使用 Xcode7
在 Swift2
中构建的 iOS
项目有一个功能,用户可以打印存储在应用程序内存中的 PDF,该 PDF 在 webView
中显示。效果很好,可以打印到附近的 wifi 打印机。我使用迁移工具将其转换为 Swift3
,但现在需要一个具有初始值设定项的 baseURL
时出现问题:
if buttonPressed == "Print" {
// Create a coded WebView only; not visible
let printWebView: UIWebView = UIWebView()
// Load the converted PDF Data to the WebView
printWebView.load(pdfData as Data, mimeType: "application/pdf", textEncodingName: "", baseURL: URL())
...
}
在我开始使用 Swift3
之前工作正常,我该如何解决这个问题?,以前它与 NSURL()
一起工作。 PDF 保存在应用程序内存中,他们可以查看然后打印。 PDF 本身可以充当 baseURL 吗?我在网上看了看,找不到任何有用的东西。谢谢你的帮助。
您可以像这样将 absoluteURL
属性 与空 NSURL()
一起使用。
if let url = NSURL().absoluteURL {
printWebView.load(pdfData as Data, mimeType: "application/pdf", textEncodingName: "", baseURL: url)
}
我使用 Xcode7
在 Swift2
中构建的 iOS
项目有一个功能,用户可以打印存储在应用程序内存中的 PDF,该 PDF 在 webView
中显示。效果很好,可以打印到附近的 wifi 打印机。我使用迁移工具将其转换为 Swift3
,但现在需要一个具有初始值设定项的 baseURL
时出现问题:
if buttonPressed == "Print" {
// Create a coded WebView only; not visible
let printWebView: UIWebView = UIWebView()
// Load the converted PDF Data to the WebView
printWebView.load(pdfData as Data, mimeType: "application/pdf", textEncodingName: "", baseURL: URL())
...
}
在我开始使用 Swift3
之前工作正常,我该如何解决这个问题?,以前它与 NSURL()
一起工作。 PDF 保存在应用程序内存中,他们可以查看然后打印。 PDF 本身可以充当 baseURL 吗?我在网上看了看,找不到任何有用的东西。谢谢你的帮助。
您可以像这样将 absoluteURL
属性 与空 NSURL()
一起使用。
if let url = NSURL().absoluteURL {
printWebView.load(pdfData as Data, mimeType: "application/pdf", textEncodingName: "", baseURL: url)
}