2016-09-02 2 views
2

Google 웹 사이트에있는 iOS 앱을 사용하여 pdf 파일을 표시하려고합니다. 여기에 내가이 일을 해요 방법은 다음과 같습니다 내가 잘못 뭐하는 거지Swift를 사용하여 UIWebView에 원격 위치에서 PDF 파일을 표시하는 방법은 무엇입니까?

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
     print("preparing segue") 
     if segue.identifier == "PdfWebView" { 

      print("Found segue") 

      let detailViewController = segue.destinationViewController as! PdfViewController 

      let myIndexPath = self.tableView.indexPathForSelectedRow! 

      let row = myIndexPath.row 


      //Pass selected cell title to next View 
      detailViewController.website = pdfLinks[row] 

      print("Website: ", detailViewController.website) 
     } 
    } 

// This is on pdfViewController // The webiste = http://www.example.com/some-pdf-document-to-display.pdf

if let website = website { 
    print("Getting pdf: ",website) 

    if let pdf = NSBundle.mainBundle().URLForResource(website, withExtension: "pdf", subdirectory: nil, localization: nil){ 

     print(pdf) // <-- this is always nil 
     let req = NSURLRequest(URL: pdf) 

     webView.loadRequest(req) 
     self.view.addSubview(webView) 

    } 


} 

? 말할 필요도없이, 이것은 내가 개발중인 첫 번째 앱입니다.

답변

2

파일이 앱에없는 경우 NSBundle을 사용하지 않아야합니다.

let pdfUrl = NSURL(string: website) 
let req = NSURLRequest(URL: pdfUrl) 

왜 webView 하위보기를보기에 추가하는지 잘 모르겠습니다. 다른 곳에서해야하지 않나요? 대신 webview를 사용하여 컨트롤러를 푸시면 안됩니까?

+0

이것이 내가 원했던 것이다. 하위보기 내부의 webView를 무시하십시오. 내가 할 수있는 일을 알아 내려고 헐떡이고 있었고 그게 왜 나타나지 않는지 보려고 애썼다. 나는 그것을 지금 제거했다. – user1828605

1

파일이 번들에 없습니다. 대신 직접 URL을로드 할 수 있습니다.

let website = "http://www.sanface.com/pdf/test.pdf" 
let reqURL = NSURL(string: website) 
let request = NSURLRequest(URL: reqURL!) 

webView.loadRequest(request) 
관련 문제