【问题标题】:Opening a PDF document when clicking a button单击按钮时打开 PDF 文档
【发布时间】:2016-03-12 20:45:21
【问题描述】:

我正在尝试快速为我的家庭餐厅创建一个应用程序。我目前有一个按钮,您可以单击该按钮,您也可以访问我们菜单的网络查看器页面。我想在应用程序中制作菜单,这样它就不会重定向到 safari。

基本上我想要做的是单击一个按钮,它会在应用程序中打开菜单 pdf 而不是 safari。

我使用的代码也在浏览器中打开 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)
    }

【问题讨论】:

  • 请发布您为启用打开 PDF 所做的尝试,以及您究竟在哪里遇到问题。
  • @Leo Dabus 我正在 OSX 上编写 iOS 应用程序。
  • 您可以使用 QLPreviewController 预览您的 pdf(如果需要也可以共享/打印)
  • @p4sh4 我是新手太快了,面对我昨天才开始使用它,我现在唯一能找到的解决方案就是在 safari 中打开 PDF。但这是我必须这样做的代码:

标签: ios swift pdf button


【解决方案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
        }
    }
}

【讨论】:

    猜你喜欢
    • 2017-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-12
    • 2012-02-26
    • 1970-01-01
    • 2017-11-05
    相关资源
    最近更新 更多