返回

史上最强拖拽教程——手把手教你玩转iOS 11 黑科技

IOS

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: 

  1. Die Bestellung in der Liste antippen, um sie zu öffnen.
  2. 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: 

  1. 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: 

  1. Ersteinrichtung des Ziehvorgangs: Die Geste zum Starten des Ziehvorgangs wird definiert.
  2. Gesten-Erkennung: Die Gestenerkennung erkennt die Absicht des Nutzers, ein Element zu ziehen.
  3. Umwandeln des Objekts in ein UIDragItem-Objekt: Das zu verschiebende Element wird in ein UIDragItem-Objekt konvertiert, das die Daten des zu verschiebenden Objekts enthält.
  4. Bereitstellungs des UIDragItem-Objekts: Das UIDragItem-Objekt mit den Daten des zu verschiebenden Objekts und dem entsprechenden UIView-Objekt (der visuelle Aspekt des zu verschiebenden Objekts) werden bereitgestellt.
  5. 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: 

  1. Imple mentieren Sie die Protokolle UIDragInteractionStarting und UIDropSessionProposedContentConfiguration in der Klasse Ihrer Ansicht.
  2. R egistriere n sich fuer die Geste des Ziehvorgangs und dem Auslösen des UIDragInteraction-Objekts in der Methode beginDragging(for:) des Protokolls UIDragInteractionStarting 
  3. E rstellen sie das UIDragItem-Objekt mit den Daten des zu verschiebenden Objekts und dem entsprechenden UIView-Objekt in der Methode item(forDraggingSession:) des Protokolls UIDropSessionProposedContentConfiguration .
  4. B ereitstellungs das UIDragItem-Objekts in der Eigensc haft localContent des UIDropSession-Objekts in der Methode sessionProposedContentConfiguration(from:) des Protokolls UIDropSessionProposedContentConfiguration 
  5. L ass en sie das Objekt in der Methode performDrop des Protokolls UIDropSessionProposedContentConfiguration ablegen.