Proszę bardzo:
if let pdf = NSBundle.mainBundle().URLForResource("myPDF", withExtension: "pdf", subdirectory: nil, localization: nil) {
let req = NSURLRequest(URL: pdf)
let webView = UIWebView(frame: CGRectMake(20,20,self.view.frame.size.width-40,self.view.frame.size.height-40))
webView.loadRequest(req)
self.view.addSubview(webView)
}
Edit
Alternatywą jest poprzez NSData:
if let pdfURL = NSBundle.mainBundle().URLForResource("myPDF", withExtension: "pdf", subdirectory: nil, localization: nil),data = NSData(contentsOfURL: pdfURL), baseURL = pdfURL.URLByDeletingLastPathComponent {
let webView = UIWebView(frame: CGRectMake(20,20,self.view.frame.size.width-40,self.view.frame.size.height-40))
webView.loadData(data, MIMEType: "application/pdf", textEncodingName:"", baseURL: baseURL)
self.view.addSubview(webView)
}
Jabłko uczynić punktem doradzimy Ci, aby nie używać .loadRequest lokalnej HTML plików, nie rozszerzając go wyraźnie na inne typy danych. Dlatego podałem powyżej trasę NSData. Jeśli chcesz określić textEncodingName może być "UTF-8", "UTF-16", itp
Edit: Swift 3
Oto Swift 3 wersja kodu stosując jako firmy Apple doradza, WKWebView w miejsce UIWebView.
import UIKit
import WebKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
if let pdfURL = Bundle.main.url(forResource: "myPDF", withExtension: "pdf", subdirectory: nil, localization: nil) {
do {
let data = try Data(contentsOf: pdfURL)
let webView = WKWebView(frame: CGRect(x:20,y:20,width:view.frame.size.width-40, height:view.frame.size.height-40))
webView.load(data, mimeType: "application/pdf", characterEncodingName:"", baseURL: pdfURL.deletingLastPathComponent())
view.addSubview(webView)
}
catch {
// catch errors here
}
}
}
}
Program ViewController załaduje się bez awarii, ale plik PDF nie ładuje się. Myślę, że aplikacja może mieć problem ze znalezieniem pliku – dannysandler
Działa dla mnie, sprawdź nazwę pdf – sketchyTech
Próbowałem innego pliku próbki i działało! – dannysandler