2017-01-26 164 views
0

我添加了QLPreviewController作爲我的QLPreviewControllerWithDownloadView的子視圖。添加QLPreviewController作爲子視圖取消視圖拖動

然後,當我展示我的QLPreviewControllerWithDownloadView並讓它預覽圖像時,如果在圖像上檢測到任何平移,我的QLPreviewControllerWithDownloadView視圖立即消失。

任何關於如何停止視圖從關閉拖動的想法?

Sample Swift Project

Movie of Issue

+0

您是否已經在bugreport.apple.com上提交了雷達?如果你看到這種異常情況,通常情況下就是這樣。 – Raffael

+0

是的,我做到了。謝謝!作爲參考,它是問題30239588。 – Christopher

回答

0

我通過扭轉我的想法解決了這個問題。而不是將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 
} 

... 
} 
相關問題