|
@@ -20,3 +20,45 @@ class PreviewController: QLPreviewControllerDataSource {
|
|
return urls[index] as QLPreviewItem
|
|
return urls[index] as QLPreviewItem
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+class BetterPreviewController: QLPreviewController {
|
|
|
|
+
|
|
|
|
+ var urls: [URL]
|
|
|
|
+
|
|
|
|
+ private lazy var doneButtonItem: UIBarButtonItem = {
|
|
|
|
+ let button = UIBarButtonItem(title: "Fertig", style: .done, target: self, action: #selector(doneButtonPressed(_:)))
|
|
|
|
+ return button
|
|
|
|
+ }()
|
|
|
|
+
|
|
|
|
+ init(currentIndex: Int, urls: [URL]) {
|
|
|
|
+ self.urls = urls
|
|
|
|
+ super.init(nibName: nil, bundle: nil)
|
|
|
|
+ dataSource = self
|
|
|
|
+ currentPreviewItemIndex = currentIndex
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ required init?(coder: NSCoder) {
|
|
|
|
+ fatalError("init(coder:) has not been implemented")
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ override func viewDidLoad() {
|
|
|
|
+ super.viewDidLoad()
|
|
|
|
+ navigationItem.leftBarButtonItem = doneButtonItem
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // MARK: - actions
|
|
|
|
+ @objc private func doneButtonPressed(_ sender: UIBarButtonItem) {
|
|
|
|
+ self.dismiss(animated: true, completion: nil)
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+extension BetterPreviewController: QLPreviewControllerDataSource {
|
|
|
|
+
|
|
|
|
+ func numberOfPreviewItems(in _: QLPreviewController) -> Int {
|
|
|
|
+ return urls.count
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ func previewController(_: QLPreviewController, previewItemAt index: Int) -> QLPreviewItem {
|
|
|
|
+ return urls[index] as QLPreviewItem
|
|
|
|
+ }
|
|
|
|
+}
|