2015-12-08 4 views
0

Я пытаюсь создать приложение для своего семейного ресторана в быстрой форме. В настоящее время у меня есть кнопка, на которую вы нажимаете кнопку, которая также выводит вас на страницу веб-просмотра нашего меню. Я хочу сделать меню в приложении, чтобы он не перенаправлялся на сафари.Открытие PDF-документа при нажатии кнопки

В основном, что я хочу сделать, это нажать кнопку и открыть меню pdf в приложении вместо сафари.

код, который я использую слишком открыть PDF в браузере:

@IBAction func menu(sender: AnyObject) { 
    if let url = NSURL(string:"http://nebula.wsimg.com/db5e994c02db104ea89bdf6e59550490?AccessKeyId=895454CA4A1E296ED3E3&disposition=0&alloworigin=1") { 
     UIApplication.sharedApplication().openURL(url) 
    } 
+0

Пожалуйста, после того, что вы пытались сделать, чтобы позволить открытие PDF, и где именно у вас есть proble м. – p4sh4

+0

@Leo Dabus Я пишу приложение iOS на OSX. – BMW

+0

Вы можете использовать QLPreviewController для предварительного просмотра своего PDF-файла (также при необходимости совместно использовать/распечатывать) –

ответ

1

Вы можете использовать QLPreviewController, чтобы просмотреть PDF, но он должен быть локальным ресурсом или загруженных из Интернета до просмотра:

Swift 3 или более поздней версии

import UIKit 
import QuickLook 

class ViewController: UIViewController, QLPreviewControllerDataSource { 
    let preview = QLPreviewController() 
    func numberOfPreviewItems(in controller: QLPreviewController) -> Int { 
     return 1 
    } 
    func previewController(_ controller: QLPreviewController, previewItemAt index: Int) -> QLPreviewItem { 
     return Bundle.main.url(forResource: "menu", withExtension: "pdf")! 
      as QLPreviewItem 
    } 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     // set preview data source 
     preview.dataSource = self 
     // set current item index (only one = 0) 
     preview.currentPreviewItemIndex = 0 
    } 
    @IBAction func showMenu(sender: UIButton) { 
     present(preview, animated: true) { 
      // code 
     } 
    } 
}