Перейти на конкретные страницы PDF-файла - PullRequest
0 голосов
/ 28 июня 2018

Я не могу понять, как это сделать: когда я щелкаю по определенной ячейке 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 голосов
/ 28 июня 2018
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)
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...