史上最强拖拽教程——手把手教你玩转iOS 11 黑科技
2023-12-17 04:27:36
Einmal gezogen, bitte nicht losgelassen – eine Einführung in das Ziehen und Ablegen in iOS 11
Das Ziehen und Ablegen von Inhalten innerhalb einer App ist eine sehr nützliche Funktion, die Ihren Nutzern das Leben leichter machen kann.
Stellen wir uns folgende Situation vor: Sie haben eine App mit einer Liste von Bestellungen. Der Nutzer möchte nun eine Bestellungen aus der Liste in einen anderen Abschnitt der App ziehen, um sie zu bezahlen.
Ohne die Funktion zum Ziehen und Ablegen wären dazu folgende Schritte erfordert:
- Die Bestellung in der Liste antippen, um sie zu öffnen.
- In der geÖffneten Bestellung den Button „Bezahlen“ drücken.
Durch das Ziehen und Ablegen der Bestellung kann der Nutzer diese Schritte auf einen Vorgang reduzieren:
- Die Bestellung in der Liste antippen und nach dem Abschnitt „Bezahlen“ ziehen.
Funktionsweise von Ziehen und Ablegen
Das Ziehen und Ablegen in iOS 11 funktioniert mithilfe der Klasse UIDragInteraction
und der folgenden Schritte:
- Ersteinrichtung des Ziehvorgangs: Die Geste zum Starten des Ziehvorgangs wird definiert.
- Gesten-Erkennung: Die Gestenerkennung erkennt die Absicht des Nutzers, ein Element zu ziehen.
- Umwandeln des Objekts in ein
UIDragItem
-Objekt: Das zu verschiebende Element wird in einUIDragItem
-Objekt konvertiert, das die Daten des zu verschiebenden Objekts enthält. - Bereitstellungs des
UIDragItem
-Objekts: DasUIDragItem
-Objekt mit den Daten des zu verschiebenden Objekts und dem entsprechendenUIView
-Objekt (der visuelle Aspekt des zu verschiebenden Objekts) werden bereitgestellt. - Ablegen des Objekts: Sobald der Nutzer mit dem Ziehen des Objekts fertig ist, wird das Objekt abgelegt.
Schritt-fuer-Schritt-Anleitung zum Einrichten des Ziehens und Ablegens in iOS 11
Die folgende Schritt-fuer-Schritt-Anleitung zeigt, wie Sie das Ziehen und Ablegen in iOS 11 einrichten:
- Imple mentieren Sie die Protokolle
UIDragInteractionStarting
undUIDropSessionProposedContentConfiguration
in der Klasse Ihrer Ansicht. - R egistriere n sich fuer die Geste des Ziehvorgangs und dem Auslösen des
UIDragInteraction
-Objekts in der MethodebeginDragging(for:)
des ProtokollsUIDragInteractionStarting
- E rstellen sie das
UIDragItem
-Objekt mit den Daten des zu verschiebenden Objekts und dem entsprechendenUIView
-Objekt in der Methodeitem(forDraggingSession:)
des ProtokollsUIDropSessionProposedContentConfiguration
. - B ereitstellungs das
UIDragItem
-Objekts in der Eigensc haftlocalContent
desUIDropSession
-Objekts in der MethodesessionProposedContentConfiguration(from:)
des ProtokollsUIDropSessionProposedContentConfiguration
- L ass en sie das Objekt in der Methode
performDrop
des ProtokollsUIDropSessionProposedContentConfiguration
ablegen.