Wie füge ich mit Taptic Engine in iOS Swift haptisches Feedback hinzu?

Die Taptic Engine ist Apples Implementierung von Feedback zur haptischen Benutzeroberfläche. Dies ist ab iPhone 7 verfügbar. Lassen Sie uns mehr darüber verstehen. Taptic Engine ist ab iPhone 6s verfügbar, aber iPhone 7 hat eine bessere Version davon.

Das iPhone hat zuvor den Linearantrieb für Vibrationen verwendet - dieser wurde auf die Taptic Engine im iPhone 6s und höher übertragen. Apple wendet seine Taptic Engine an, um das Drücken der Home-Taste nachzuahmen, Systembenachrichtigungen weiterzuleiten und Audio-Warnungen zu verstärken. Das Feedback des Systems fühlt sich jedoch natürlich an und stimmt mit dem überein, was auf dem Bildschirm angezeigt wird.

Wie mache ich eine grundlegende Vibration auf iOS-Geräten?

AudioToolbox.AudioServices hilft uns, das Telefon mithilfe des folgenden Codes zu vibrieren. Dies funktioniert auf allen Geräten.

AudioServicesPlaySystemSound (SystemSoundID (kSystemSoundID_Vibrate))

Hier finden Sie eine LISTE DER SOUND_IDs, die auf iOS-Geräten verfügbar sind.

Das iPhone 6s und höher wird mit der Taptic Engine und der Einführung von 3D Touch ausgeliefert. Das iPhone 7 und höher verfügt über eine neuere Version der Taptic Engine, die besser ist als die Version in 6s. Für das iPhone 7 und höher ist kein physischer Home-Button vorhanden. Daher musste Apple mithilfe der aktualisierten Taptic Engine ein natürlicheres haptisches Feedback erzielen.

Während viele vom System bereitgestellte Oberflächenelemente (z. B. Auswahlfunktionen, Schalter und Schieberegler) automatisch haptisches Feedback liefern, können Sie mithilfe von Feedback-Generatoren benutzerdefinierten Ansichten und Steuerelementen Ihr eigenes Feedback hinzufügen.

Wie kann ich ein haptisches Feedback generieren?

Referenz: Apple Doc Link.

Die Funktion für haptisches Feedback wird von der UIFeedbackGenerator-Klasse bereitgestellt. Dies ist in UIKit ab iOS 10.0 verfügbar. UIFeedbackGenerator ist jedoch eine abstrakte Klasse, die wir weder direkt noch durch Unterklassen verwenden können.

Klasse UIFeedbackGenerator: NSObject
Von Apple Docs: Erstellen Sie keine Unterklassen oder Instanzen dieser Klasse. Instanziieren Sie stattdessen eine der bereitgestellten konkreten Unterklassen.

Wir sollten eine der folgenden konkreten Unterklassen verwenden, um ein haptisches Feedback auszulösen:

  • UIImpactFeedbackGenerator. Verwenden Sie Impact-Feedback-Generatoren, um anzuzeigen, dass ein Aufprall aufgetreten ist. Beispielsweise können Sie eine Auswirkungsrückmeldung auslösen, wenn ein Benutzeroberflächenobjekt mit etwas kollidiert oder einrastet. Es gibt drei Varianten: .light, .medium und .heavy.
  • UISelectionFeedbackGenerator. Verwenden Sie Auswahl-Feedback-Generatoren, um eine Änderung der Auswahl anzuzeigen. Es gibt drei Varianten: .erfolg, .warnung und .fehler.
  • UINotificationFeedbackGenerator. Verwenden Sie Benachrichtigungs-Feedback-Generatoren, um Erfolge, Fehler und Warnungen anzuzeigen.

Feedback-Generatoren verwenden

Um einen Rückkopplungsgenerator zu verwenden, ist Folgendes erforderlich, und dies gilt für alle oben genannten Rückkopplungsgeneratoren.

  1. Instanziieren des Generators: Um Feedback zu erstellen, müssen Sie zuerst eine der konkreten Unterklassen der UIFeedbackGenerator-Klasse instanziieren
  2. Vorbereiten des Generators (optional): Dieser Schritt ist optional. Dadurch wird die Latenz (Rückkopplungs-Trigger-Zeitverzögerung) in gewissem Maße verringert. Dies ist besonders wichtig, wenn Sie versuchen, Feedback mit akustischen oder visuellen Hinweisen abzugleichen. Durch Aufrufen der prepare () -Methode des Generators wird die Taptic Engine in einen vorbereiteten Zustand versetzt.
  3. Auslösen von Rückmeldungen: Jede Rückmeldungsgenerator-Unterklasse hat eine eindeutige Auslösungsmethode. Rufen Sie die entsprechende Methode auf, um Feedback auszulösen: impactOccurred (), selectionChanged () oder notificationOccurred (_ :). Beachten Sie, dass beim Aufrufen dieser Methoden die Haptik nicht direkt wiedergegeben wird. Stattdessen informiert es das System über das Ereignis. Das System ermittelt dann anhand des Geräts, des Anwendungszustands, der verbleibenden Akkuleistung und anderer Faktoren, ob die Haptik wiedergegeben werden soll.
  4. Generator freigeben (optional): Entfernen Sie alle Referenzen, damit das System die Zuordnung der Generatorinstanz aufheben kann.

Feedbackgeneratoren in Aktion!

UIImpactFeedbackGenerator

let impactFeedbackgenerator = UIImpactFeedbackGenerator (Stil: .light)
impactFeedbackgenerator.prepare ()
impactFeedbackgenerator.impactOccurred ()

UISelectionFeedbackGenerator

let selectionFeedbackGenerator = UISelectionFeedbackGenerator ()
selectionFeedbackGenerator.selectionChanged ()

UINotificationFeedbackGenerator

let notificationFeedbackGenerator = UINotificationFeedbackGenerator ()
notificationFeedbackGenerator.prepare ()
notificationFeedbackGenerator.notificationOccurred (.success)
notificationFeedbackGenerator.notificationOccurred (.warnung)
notificationFeedbackGenerator.notificationOccurred (.error)

Merken Sie sich:

  • Verwenden Sie Feedback immer für den vorgesehenen Zweck. Wähle keine Haptik aus, weil sie sich so anfühlt.
  • Die Quelle des Feedbacks muss dem Benutzer klar sein. Beispielsweise muss das Feedback einer visuellen Änderung in der Benutzeroberfläche entsprechen oder auf eine Benutzeraktion reagieren. Feedback sollte niemals überraschen.
  • Verwenden Sie Feedback nicht zu häufig. Überbeanspruchung kann Verwirrung stiften und die Bedeutung des Feedbacks verringern.
  • Haptisches Feedback funktioniert nur, wenn die App im Vordergrund ausgeführt wird. Auf einem Gerät mit einer unterstützten Taptic Engine und aktivierter System-Haptik-Einstellung.
  • Vertrauen Sie in der Regel dem System, um zu bestimmen, ob es Feedback geben soll. Überprüfen Sie nicht den Gerätetyp oder den App-Status, um eine bedingte Rückmeldung auszulösen. Nachdem Sie festgelegt haben, wie Sie das Feedback verwenden möchten, lösen Sie es immer dann aus, wenn die entsprechenden Ereignisse eintreten. Das System ignoriert alle Anforderungen, die es nicht erfüllen kann.

Lesen Sie hier mehr über die Do's und Dont's zu den haptischen Rückmeldungen aus den Richtlinien für die Benutzeroberfläche von iOS. Dies ist ein Muss.

Das ist es. !

Genießen!!

Wenn du diesen Beitrag gern gelesen hast, teile ihn bitte mit und klatsche, damit andere ihn finden können !!!!

Sie können mich auf Medium für frische Artikel folgen. Verbinden Sie sich auch mit mir auf LinkedIn.

Wenn Sie einen Kommentar, eine Frage oder eine Empfehlung haben, können Sie diese gerne im Kommentarbereich unten posten!