我正在使用部署目标为10.13的PDFKit。当我的PDFView中没有文档时,在PDFViewController中重写的mouseUp,mouseDragged和mouseDown函数可以正常工作,但是当我通过拖放加载任何文档时,只有mouseUp事件响应,而没有mouseDown或mouseDragged。
这是我的代码:
class PDFViewController: NSViewController {
@IBOutlet weak var pdfView: PDFView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
pdfView.acceptsDraggedFiles = true
}
override var representedObject: Any? {
didSet {
// Update the view, if already loaded.
}
}
override func mouseDown(with event: NSEvent) {
super.mouseDown(with: event)
print("view controller mouse Down")
}
override func mouseDragged(with event: NSEvent) {
super.mouseDragged(with: event)
print("view controller mouse dragged")
}
override func mouseUp(with event: NSEvent) {
super.mouseUp(with: event)
print("view controller mouse up")
}
}
我期望即使将文档加载到PDFView中,所有鼠标事件也会被调用,但是我认为可能是PDFView使用mouseDown和mouseDragged事件来选择文档中的文本和图像,这就是为什么我的重写方法没有被使用的原因被呼叫。那只是我的假设,没有证据。
谁能帮助我,为什么它会显示这种行为以及如何解决?