【发布时间】:2019-02-19 05:46:33
【问题描述】:
function nextTapped 和 function previousTapped 显示此错误“使用未解析的标识符 'pdfView';您的意思是 'PDFView'?”我想从函数 nextTapped 移动到下一个 pdf 页面,并且函数 previousTapped 在我显示 pdf 时移动到上一个 pdf 页面我想从 nextButton 移动到下一个 pdf 页面和 previousButton 移动到上一个 pdf 页面
import UIKit
import AVFoundation
import MobileCoreServices
import PDFKit
class RecorderViewController: UIViewController {
@IBOutlet var nextButton:UIButton!
@IBOutlet var previousButton:UIButton!
override func viewDidLoad() {
super.viewDidLoad()
nextButton.isHidden = true
previousButton.isHidden = true
}
@IBAction func `import`(_ sender: Any) {
let documentPicker = UIDocumentPickerViewController(documentTypes: [kUTTypePDF as String], in: .import)
documentPicker.delegate = self as? UIDocumentPickerDelegate
documentPicker.allowsMultipleSelection = true
present(documentPicker, animated: true, completion: nil)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
@IBAction func nextTapped(_ sender: Any) {
pdfView.goToNextPage(sender)}
@IBAction func previousTapped(_ sender: Any) {
pdfView.goToPreviousPage(sender)
}
extension RecorderViewController: UIDocumentPickerDelegate {
func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) {
guard let selectedFileURL = urls.first else {
return
}
/////////her to display PDF File
let pdfView = PDFView()
pdfView.frame = CGRect(x: 0, y: 160, width: 1024, height: 1139)
pdfView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
self.view.addSubview(pdfView)
pdfView.leadingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leadingAnchor).isActive = true
pdfView.trailingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.trailingAnchor).isActive = true
pdfView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor).isActive = true
let thumbnailView = PDFThumbnailView()
thumbnailView.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(thumbnailView)
thumbnailView.leadingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leadingAnchor).isActive = true
thumbnailView.trailingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.trailingAnchor).isActive = true
thumbnailView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor).isActive = true
pdfView.bottomAnchor.constraint(equalTo: thumbnailView.topAnchor).isActive = true
pdfView.heightAnchor.constraint(equalToConstant: 150)
pdfView.displayMode = .singlePage
// Fit content in PDFView.
nextButton.isHidden = false
previousButton.isHidden = false
pdfView.autoScales = true
pdfView.document = PDFDocument(url: selectedFileURL)
let dir = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
let sandboxFileURL = dir.appendingPathComponent(selectedFileURL.lastPathComponent)
///i need to ensure the file is saved
if FileManager.default.fileExists(atPath: sandboxFileURL.path) {
print("Already exists! Do nothing")
}
else {
do {
try FileManager.default.copyItem(at: selectedFileURL, to: sandboxFileURL)
print("Copied file!")
}
catch {
print("Error: \(error)")
}
}
}
}
【问题讨论】:
-
您能否添加您的 ViewController 代码,如何在屏幕中添加 PDFView。
-
不知道怎么加到viewController里我刚刚在扩展里加了
-
不,我的意思是说请在此处发布您的 ViewController 代码。
-
以上代码根本无法理解,请用所有这些代码更新您的问题并删除所有上述代码 cmets。
-
确定更新问题和代码