|
@@ -1,27 +1,7 @@
|
|
|
import QuickLook
|
|
|
import UIKit
|
|
|
|
|
|
-class PreviewController: QLPreviewControllerDataSource {
|
|
|
- var urls: [URL]
|
|
|
- var qlController: QLPreviewController
|
|
|
-
|
|
|
- init(currentIndex: Int, urls: [URL]) {
|
|
|
- self.urls = urls
|
|
|
- qlController = QLPreviewController()
|
|
|
- qlController.dataSource = self
|
|
|
- qlController.currentPreviewItemIndex = currentIndex
|
|
|
- }
|
|
|
-
|
|
|
- func numberOfPreviewItems(in _: QLPreviewController) -> Int {
|
|
|
- return urls.count
|
|
|
- }
|
|
|
-
|
|
|
- func previewController(_: QLPreviewController, previewItemAt index: Int) -> QLPreviewItem {
|
|
|
- return urls[index] as QLPreviewItem
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-class BetterPreviewController: QLPreviewController {
|
|
|
+class PreviewController: QLPreviewController {
|
|
|
|
|
|
var urls: [URL]
|
|
|
|
|
@@ -43,8 +23,8 @@ class BetterPreviewController: QLPreviewController {
|
|
|
|
|
|
override func viewDidLoad() {
|
|
|
super.viewDidLoad()
|
|
|
- if navigationController != nil {
|
|
|
- /* QLPreviewController comes with a done-button by default. But if is embedded in UINavigationContrller we set a done-button manually.
|
|
|
+ if navigationController != nil && isBeingPresented {
|
|
|
+ /* QLPreviewController comes with a done-button by default. But if is embedded in UINavigationContrller we need to set a done-button manually.
|
|
|
*/
|
|
|
navigationItem.leftBarButtonItem = doneButtonItem
|
|
|
}
|
|
@@ -56,7 +36,7 @@ class BetterPreviewController: QLPreviewController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-extension BetterPreviewController: QLPreviewControllerDataSource {
|
|
|
+extension PreviewController: QLPreviewControllerDataSource {
|
|
|
|
|
|
func numberOfPreviewItems(in _: QLPreviewController) -> Int {
|
|
|
return urls.count
|