浏览代码

Merge pull request #1027 from deltachat/adapt_gallery_image_preview

Adapt gallery image preview
bjoern 4 年之前
父节点
当前提交
577ca45e5a
共有 1 个文件被更改,包括 10 次插入7 次删除
  1. 10 7
      deltachat-ios/Controller/GalleryViewController.swift

+ 10 - 7
deltachat-ios/Controller/GalleryViewController.swift

@@ -1,5 +1,6 @@
 import UIKit
 import DcCore
+import QuickLook
 
 class GalleryViewController: UIViewController {
 
@@ -254,13 +255,6 @@ extension GalleryViewController: UICollectionViewDataSource, UICollectionViewDel
             }
         )
     }
-
-    @available(iOS 13, *)
-    func collectionView(_ collectionView: UICollectionView, willEndContextMenuInteraction configuration: UIContextMenuConfiguration, animator: UIContextMenuInteractionAnimating?) {
-        if let msgId = (animator?.previewViewController as? ContextMenuController)?.msg.id {
-            self.showPreview(msgId: msgId)
-        }
-    }
 }
 
 // MARK: - grid layout + updates
@@ -309,6 +303,7 @@ private extension GalleryViewController {
         }
 
         let previewController = PreviewController(type: .multi(mediaMessageIds, index))
+        previewController.delegate = self
         present(previewController, animated: true, completion: nil)
     }
 
@@ -404,3 +399,11 @@ extension ContextMenuProvider {
         var onPerform: ((IndexPath) -> Void)?
     }
 }
+
+// MARK: - QLPreviewControllerDataSource
+extension GalleryViewController: QLPreviewControllerDelegate {
+    func previewController(_ controller: QLPreviewController, transitionViewFor item: QLPreviewItem) -> UIView? {
+        let indexPath = IndexPath(row: controller.currentPreviewItemIndex, section: 0)
+        return grid.cellForItem(at: indexPath)
+    }
+}