В настоящее время я столкнулся с проблемой, когда я хочу, чтобы пользователь мог переключаться между неотредактированным документом pdf и отредактированным, оставаясь при этом в том же месте в документе. Поэтому, если пользователь находится на странице 4 на полпути, прокручивается до страницы 5, я хочу, чтобы коммутатор открыл отредактированную версию на странице 4, на полпути прокручивается до страницы 5.
Все это делается в pdfView, я пытался использовать pdfView.currentpage и pdfView.currentDestination, но пока ничего не получалось.
У меня есть переключатель, при котором пользователь должен перейти с неотредактированного на отредактированный документ, именно здесь я попытался сохранить текущее назначение, а также попытался использовать текущую страницу для последующего использования в LoadPDF () в качестве pdfView.go ()
Это функция, которую я использую для открытия документа. Затем я изменяю строку, содержащуюся в переменной pdfFile, чтобы изменить файл, который нужно открыть.
func LoadPDF() {
if let path = Bundle.main.path(forResource: pdfFile, ofType: "pdf" ) {
let url = URL(fileURLWithPath: path)
if let pdfDocument = PDFDocument(url: url) {
pdfView.autoScales = true
pdfView.displayMode = .singlePageContinuous
pdfView.displayDirection = .vertical
pdfView.document = pdfDocument
pdfView.maxScaleFactor = 4.0
pdfView.minScaleFactor = pdfView.scaleFactorForSizeToFit
//this is where i put pdfView.go(to: Swap)
}
}
}
Это функция переключения
func Answers(_ sender: Any) {
if AnswersOn.isOn {
pdfFile = pdfFileO
//here is where i used Swap = pdfView.currentdestination etc
LoadPDF()
} else {
//here is where i used Swap = pdfView.currentpage etc
pdfFile = pdfFileR
LoadPDF()
}
}
Переменные, которые я использую для currentpage и currentdestination, похоже, не содержат ничего, поэтому программа просто прерывает действие.