FileListPreview.swift
1.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//
// FileListPreview.swift
// FileBrowser
//
// Created by Roy Marmelstein on 13/02/2016.
// Copyright © 2016 Roy Marmelstein. All rights reserved.
//
import Foundation
import QuickLook
extension FileListViewController: UIViewControllerPreviewingDelegate {
//MARK: UIViewControllerPreviewingDelegate
func registerFor3DTouch() {
if #available(iOS 9.0, *) {
if self.traitCollection.forceTouchCapability == UIForceTouchCapability.available {
registerForPreviewing(with: self, sourceView: tableView)
}
}
}
func previewingContext(_ previewingContext: UIViewControllerPreviewing, viewControllerForLocation location: CGPoint) -> UIViewController? {
if #available(iOS 9.0, *) {
if let indexPath = tableView.indexPathForRow(at: location) {
let selectedFile = fileForIndexPath(indexPath)
previewingContext.sourceRect = tableView.rectForRow(at: indexPath)
if selectedFile.isDirectory == false {
return previewManager.previewViewControllerForFile(selectedFile, fromNavigation: false)
}
}
}
return nil
}
func previewingContext(_ previewingContext: UIViewControllerPreviewing, commit viewControllerToCommit: UIViewController) {
if let previewTransitionViewController = viewControllerToCommit as? PreviewTransitionViewController {
self.navigationController?.pushViewController(previewTransitionViewController.quickLookPreviewController, animated: true)
}
else {
self.navigationController?.pushViewController(viewControllerToCommit, animated: true)
}
}
}