Hallo zusammen,
vielleicht kann ich einigen von Euch etwas Zeit und Suchen ersparen...
Ich genieße gerade die Entwicklung einer App mit Deployment-Target iOS 13 und kann somit viel Neues ausprobieren. So soll z. B. eine UICollectionView die neuen Kontextmenüs inkl. Vorschau und Aktionen bieten, aber es sollen sich auch Items per Drag'n'Drop umordnen lassen.
Mattes
vielleicht kann ich einigen von Euch etwas Zeit und Suchen ersparen...
Ich genieße gerade die Entwicklung einer App mit Deployment-Target iOS 13 und kann somit viel Neues ausprobieren. So soll z. B. eine UICollectionView die neuen Kontextmenüs inkl. Vorschau und Aktionen bieten, aber es sollen sich auch Items per Drag'n'Drop umordnen lassen.
- Problem:
Für letzteres basieren die meisten Beispiele im Netz auf der MethodemoveItemAtIndexPath:toIndexPath:
, leider kollidierte diese aber mit einem Kontextmenü, das übercollectionView:contextMenuConfigurationForItemAtIndexPath:point:
implementiert wird: Ein Gesture-Recognizer für das lange Drücken wird nicht mehr angesprungen ... wahrscheinlich, weil das Händling des Kontextmenüs diesen "schluckt". - Lösung:
Man implementiere die Protokolle UICollectionViewDragDelegate und UICollectionViewDropDelegate, hierbei reichen schon drei Pflicht-Methoden aus: Übergabe des DragItems, Liefern eines DropProposals und letztlich Durchführen des Drops. Es funktioniert und man gewinnt einen netten Übergang vom Preview zum Drag. Ein entsprechender Hinweis findet sich auf der WWDC 2019 "Modernizing Your UI for iOS 13", im Netz sind die Informationen noch recht spärlich.
Mattes
Diese Seite bleibt aus technischen Gründen unbedruckt.