2016-05-12 5 views
0

J'ai écris ce code pour montrer à l'aide UIDocumentInteractionController.But pdf, je ne sais pas comment rechercher pdf au répertoire local et ouvert dans iOS 8 et aide below..Any?ouvrir l'URL PDF dans iOS 8?

let filename = history.invoiceLongDate // 01223642 
      if !filename.isEmpty{ 
       let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true) 
       let docs = paths[0] 
       let pathURL = NSURL(fileURLWithPath: docs, isDirectory: true) 
       if #available(iOS 9.0, *) { 
        let fileURL = NSURL(fileURLWithPath: "\(filename)_my_invoice.pdf", isDirectory: false, relativeToURL: pathURL) 
        self.docController = UIDocumentInteractionController(URL: fileURL) 
        self.docController?.delegate = self 
        self.docController?.presentOptionsMenuFromRect(sender.frame, inView: self.view, animated: true) 
       } else { 
        // Fallback on earlier versions 
        // Any Help with that? 
       } 
      } 

Répondre

0

Vous pouvez afficher des fichiers PDF dans iOS 8 à l'aide de la visualisation Web. Essayez ci-dessous le code,

if let pdf = NSBundle.mainBundle().URLForResource("myPDF", withExtension: "pdf", subdirectory: nil, localization: nil) { 
     let req = NSURLRequest(URL: pdf) 
     let webView = UIWebView(frame: CGRectMake(0,0,self.view.frame.size.width,self.view.frame.size.height)) 
     webView.loadRequest(req) 
     self.view.addSubview(webView) 
    } 

OU

if let baseUrl = NSURL.fileURLWithPath(pathURL) { 
let fileURL = baseUrl.URLByAppendingPathComponent(NFConstants.NFCoreDataStringIdentifiers.CoreDataStoresPathComponent.rawValue) 
} 

Espérons que cela sera utile pour vous.

+0

Je ne veux pas utiliser webview.I veulent utiliser l'aide UIDocumentInteraction.Any? –

+0

Ok, avez-vous essayé en utilisant 'presentOpenInMenuFromRect'? Se reporter ce lien: http://stackoverflow.com/questions/25430069/uidocumentinteractioncontroller-displaying-blank-pdf –

+0

Le problème est que la déclaration « laisser fileURL = NSURL (fileURLWithPath: "\ (nom de fichier) _my_invoice.pdf", isDirectory: false , relativeToURL. pathURL) » Moyens NSURL, fileURLWithPath uniquement disponible à ios 9 non ios 8. –

0

UIDocumentInteractionController est disponible avec (iOS 3.2, *).

Pour Voir fichier PDF:

var documentInteractionController: UIDocumentInteractionController! 

@IBAction func openDocument(sender: UIButton) { 
    let URL: NSURL = NSBundle.mainBundle().URLForResource("pdf-sample", withExtension: "pdf")! 

    if (URL != "") { 
     // Initialize Document Interaction Controller 
     self.documentInteractionController = UIDocumentInteractionController(URL: URL) 

     // Configure Document Interaction Controller 
     self.documentInteractionController.delegate = self 

     // Present Open In Menu 
     self.documentInteractionController.presentOptionsMenuFromRect(sender.frame, inView: self.view, animated: true) 
      //presentOpenInMenuFromRect(button.frame, inView: self.view, animated: true) 
    } 
} 

// MARK: UIDocumentInteractionControllerDelegate 
func documentInteractionControllerViewControllerForPreview(controller: UIDocumentInteractionController) -> UIViewController { 
    return self 
}