转到pdf文件的特定页面

时间:2018-06-28 17:36:49

标签: ios arrays swift pdf tableview

我不知道该怎么做:当我单击某个TableView单元格时,我转到pdf文件的某些页面(startPage是页面的开头,endPage是页面的结尾)。 打开pdf文件的类:

import UIKit

class DetailLessonsVC: UIViewController {

let pdfTitle = "Strahov_Pages"


override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view.
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

func openPDFAction(title: Int, sub: Int)
{
    if let url = Bundle.main.url(forResource: pdfTitle, withExtension: "pdf") {
        let webView = UIWebView(frame:self.view.frame)
        let urlRequest = URLRequest(url: url)
        webView.loadRequest(urlRequest as URLRequest)
        self.view.addSubview(webView)

    }

}

}

单击TableView单元格(TableViewController类)时的转换函数:

    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    let vc = DetailLessonsVC()
    vc.openPDFAction(title: startPage[indexPath.count], sub: endPage[indexPath.count])
    self.navigationController?.pushViewController(vc, animated: true)
    self.tableView.deselectRow(at: indexPath, animated: true)
}

StartPage和endPage数组(TableViewController类):

let startPage = [6, 9, 15, 23, 27, 29, 33, 37, 41]

let endPage = [8, 14, 22, 26, 28, 32, 36, 42, 44]

1 个答案:

答案 0 :(得分:1)

var pdfFile_View: PDFView!
override func viewDidLoad() {
    super.viewDidLoad()
    pdfFile_View = PDFView()
    // You might want to constraint pdfView here
    // Load pdf from bundle or url
    let url = Bundle.main.url(forResource: "Book", withExtension: "pdf")!
    let document = PDFDocument(url: url)
    pdfView.document = document
    // Grab 16th page, returns optional if out of bounds
    if let page10 = document?.page(at:16) {
        pdfView.go(to: page16)
    }

}