From 67b3b95f53058c258779a41374c8a9e5da1d5628 Mon Sep 17 00:00:00 2001 From: redstrate <54911369+redstrate@users.noreply.github.com> Date: Mon, 16 Mar 2020 12:16:11 -0400 Subject: [PATCH] Create new windows on iPadOS by dragging --- Gallery/PostCollectionView.swift | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Gallery/PostCollectionView.swift b/Gallery/PostCollectionView.swift index 91914db..26fbb4e 100644 --- a/Gallery/PostCollectionView.swift +++ b/Gallery/PostCollectionView.swift @@ -279,12 +279,15 @@ class PostCollectionView: UICollectionView, UICollectionViewDataSource, UICollec func collectionView(_ collectionView: UICollectionView, itemsForBeginning session: UIDragSession, at indexPath: IndexPath) -> [UIDragItem] { let model = posts[indexPath.item] + + let activity = NSUserActivity(activityType: "post") + activity.userInfo = ["name": model.value(forKey: "name")!] + activity.isEligibleForHandoff = true + let itemProvider = NSItemProvider(object: (cellForItem(at: indexPath) as! PostViewCell).imageView.image!) itemProvider.suggestedName = model.value(forKey: "name") as? String + itemProvider.registerObject(activity, visibility: .all) - let dragItem = UIDragItem(itemProvider: itemProvider) - dragItem.localObject = model //We can set the localObject property for convenience - - return [dragItem] + return [UIDragItem(itemProvider: itemProvider)] } }