2017-01-26 42 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 
} 

... 
} 
相关问题