我通過扭轉我的想法解決了這個問題。而不是將QLPreviewController添加爲子視圖,而是將子視圖添加到QLPreviewController中,並將我的下載視圖添加爲子視圖。
class QuickLookViewController: QLPreviewController {
//Download View Properties
var downloadViewController: DownloadFileViewController?
// MARK: - Application Life Cycle
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
guard let downloadView = self.downloadViewController?.view else { return }
view.bringSubview(toFront: downloadView)
}
override func viewDidLoad() {
super.viewDidLoad()
addDownloadViewIfNeeded()
downloadAndPreview()
}
// MARK: - Private
private func addDownloadViewIfNeeded() {
guard self.downloadViewController == nil else { return }
let downloadViewController = DownloadFileViewController.viewControllerFromStoryboard()
downloadViewController.view.isHidden = true
downloadViewController.delegate = self
addChildViewController(downloadViewController)
view.addSubview(downloadViewController.view)
downloadViewController.view.pinFrameToSuperViewBounds()
downloadViewController.didMove(toParentViewController: self)
self.downloadViewController = downloadViewController
}
...
}
您是否已經在bugreport.apple.com上提交了雷達?如果你看到這種異常情況,通常情況下就是這樣。 – Raffael
是的,我做到了。謝謝!作爲參考,它是問題30239588。 – Christopher