Πώς να προσθέσετε Haptic feedback χρησιμοποιώντας το Taptic Engine στο iOS Swift;

Ο Taptic Engine είναι η εφαρμογή της απλής ανατροφοδότησης από το χρήστη της διεπαφής χρήστη της Apple. Αυτό είναι διαθέσιμο από το iPhone 7 και παραπάνω. Ας μάθουμε περισσότερα γι 'αυτό. Το Taptic Engine είναι διαθέσιμο από το iphone 6s, αλλά το iphone 7 έχει μια καλύτερη έκδοση του.

Το iPhone έχει χρησιμοποιήσει προηγουμένως τον γραμμικό ενεργοποιητή για κραδασμούς - αυτό έχει μετατοπιστεί στην Taptic Engine στο iPhone 6s και πάνω. Η Apple εφαρμόζει τον Taptic Engine της για να μιμηθεί ένα πάτημα κουμπιού στο σπίτι, ειδοποιήσεις συστήματος αναμετάδοσης και να ενισχύσει τις ειδοποιήσεις ήχου. Αλλά η ανατροφοδότηση από το σύστημα αισθάνεται φυσική και σε συγχρονισμό με αυτό που παρουσιάζεται στην οθόνη.

Πώς να κάνετε μια βασική δόνηση σε συσκευές iOS;

Το AudioToolbox.AudioServices μας βοηθά να δονείται το τηλέφωνο χρησιμοποιώντας τον ακόλουθο κώδικα. Αυτό λειτουργεί σε όλες τις συσκευές.

AudioServicesPlaySystemSound (SystemSoundID (kSystemSoundID_Vibrate))

Ακολουθεί ένας κατάλογος SOUND_ID που διατίθεται σε συσκευές iOS.

Iphone 6s και άνω έρχεται με βιντεοκάμερα μαζί με την εισαγωγή της 3D αφής. Το iPhone 7 και παραπάνω έχει μια νεώτερη έκδοση της βινυτικής μηχανής, η οποία είναι καλύτερη σε σύγκριση με αυτή της 6ης. Το iPhone 7 και παραπάνω δεν έχει ένα φυσικό κουμπί στο σπίτι και ως εκ τούτου, η Apple έπρεπε να καταλήξει σε μια πιο φυσική απτική ανατροφοδότηση χρησιμοποιώντας την αναβαθμισμένη μηχανή βρύσης.

Ενώ πολλά στοιχεία διασύνδεσης που παρέχονται από το σύστημα (για παράδειγμα, συλλέκτες, διακόπτες και ρυθμιστικά) παρέχουν αυτόματα απτική ανατροφοδότηση, μπορείτε να χρησιμοποιήσετε γεννήτριες ανατροφοδότησης για να προσθέσετε το δικό σας σχόλιο στις προσαρμοσμένες προβολές και στοιχεία ελέγχου.

Πώς να δημιουργήσετε απτική ανατροφοδότηση;

Αναφορά: σύνδεσμος Apple Doc.

Η λειτουργία απτικής ανάδρασης παρέχεται από την κλάση UIFeedbackGenerator. Αυτό είναι διαθέσιμο στο UIKit από iOS 10.0+. Αλλά το UIFeedbackGenerator είναι μια αφηρημένη κλάση και δεν μπορούμε να το χρησιμοποιήσουμε άμεσα ή με υποκατηγορία.

class UIFeedbackGenerator: NSObject
Από το μήλο Εγγράφων: Μην υποκλάζετε ή δημιουργείτε μόνοι σας τις περιπτώσεις αυτής της κλάσης. Αντ 'αυτού, παραθέστε μία από τις παρεχόμενες υποκατηγορίες σκυροδέματος.

Θα πρέπει να χρησιμοποιούμε οποιαδήποτε από τις παρακάτω συγκεκριμένες υποκατηγορίες για να ενεργοποιήσετε μια απτική ανατροφοδότηση:

  • UIImpactFeedbackGenerator. Χρησιμοποιήστε γεννήτριες ανατροφοδότησης αντίκτυπου για να υποδείξετε ότι έχει συμβεί κάποια επίδραση. Για παράδειγμα, ενδέχεται να ενεργοποιήσετε την ανατροφοδότηση κρούσης όταν ένα αντικείμενο διεπαφής χρήστη συγκρούεται με κάτι ή ασφαλίσει στη θέση του. Έχει τρεις παραλλαγές: .light, .medium, and .heavy.
  • UISelectionFeedbackGenerator. Χρησιμοποιήστε γεννήτριες ανατροφοδότησης επιλογής για να υποδείξετε μια αλλαγή στην επιλογή. Έχει τρεις παραλλαγές: .success, .warning και .error.
  • UINotificationFeedbackGenerator. Χρησιμοποιήστε γεννήτριες ανατροφοδότησης ειδοποιήσεων για να υποδείξετε επιτυχίες, αποτυχίες και προειδοποιήσεις.

Χρησιμοποιώντας Γεννήτριες Feedback

Για να χρησιμοποιήσετε μια γεννήτρια ανατροφοδότησης, απαιτούνται τα παρακάτω και αυτό ισχύει για όλες τις παραπάνω γεννήτριες ανατροφοδότησης.

  1. Αντιστάθμιση της γεννήτριας: Για να δημιουργήσετε ανατροφοδότηση, πρέπει πρώτα να εμφανίσετε μία από τις υποκατηγορίες σκυροδέματος της κλάσης UIFeedbackGenerator
  2. Προετοιμασία της γεννήτριας (προαιρετικό): Αυτό το βήμα είναι προαιρετικό. Αυτό θα μειώσει την καθυστέρηση (χρονική καθυστέρηση ενεργοποίησης ανάδρασης) σε κάποιο βαθμό. Αυτό είναι ιδιαίτερα σημαντικό όταν προσπαθείτε να προσαρμόσετε την ανατροφοδότηση σε ήχους ή οπτικές ενδείξεις. Η κλήση της μεθόδου prepare () της γεννήτριας θέτει τον Taptic Engine σε προετοιμασμένη κατάσταση.
  3. Ανατροφοδότηση ενεργοποίησης: Κάθε υποκατηγορία γεννήτριας ανατροφοδότησης έχει μια μοναδική μέθοδο ενεργοποίησης. Για να ενεργοποιήσετε την ανατροφοδότηση, καλέστε την κατάλληλη μέθοδο: impactOccurred (), επιλογήChanged (), or notificationOccurred (_ :). Σημειώστε ότι η κλήση αυτών των μεθόδων δεν αναπαράγει απτικά τα άμεσα. Αντ 'αυτού, ενημερώνει το σύστημα του συμβάντος. Το σύστημα τότε καθορίζει εάν πρέπει να παίξει τα απτικά με βάση τη συσκευή, την κατάσταση της εφαρμογής, την ποσότητα της μπαταρίας που απομένει και άλλους παράγοντες.
  4. Απελευθέρωση της γεννήτριας (προαιρετικό): Αφαιρέστε όλες τις αναφορές έτσι ώστε το σύστημα να μπορεί να απομακρύνει την παρουσία της γεννήτριας.

Γεννήτριες ανάδρασης στη δράση!

UIImpactFeedbackGenerator

ας αντίκτυποFeedbackgenerator = UIImpactFeedbackGenerator (στυλ: .light)
impactFeedbackgenerator.prepare ()
impactFeedbackgenerator.impactOccurred ()

UISelectionFeedbackGenerator

αφήστε selectionFeedbackGenerator = UISelectionFeedbackGenerator ()
επιλογήFeedbackGenerator.selectionChanged ()

UINotificationFeedbackGenerator

let notificationFeedbackGenerator = UINotificationFeedbackGenerator ()
notificationFeedbackGenerator.prepare ()
ειδοποίησηFeedbackGenerator.notificationOccurred (.uccess)
ειδοποίησηΦόρτωσηGenerator.μηνύματοςΕπαναφορά (.warning)
notificationFeedbackGenerator.notificationOccurred (.error)

Θυμήσου:

  • Χρησιμοποιείτε πάντα ανατροφοδότηση για τον επιδιωκόμενο σκοπό. Μην επιλέγετε ένα απτικό λόγω του τρόπου που αισθάνεται.
  • Η πηγή της ανατροφοδότησης πρέπει να είναι σαφής στον χρήστη. Για παράδειγμα, η ανατροφοδότηση πρέπει να ταιριάζει με μια οπτική αλλαγή στο περιβάλλον εργασίας χρήστη ή πρέπει να ανταποκρίνεται σε μια ενέργεια χρήστη. Η ανατροφοδότηση δεν πρέπει ποτέ να αποτελεί έκπληξη.
  • Μην χρησιμοποιείτε υπερβολικά ανατροφοδότηση. Η υπερβολική χρήση μπορεί να προκαλέσει σύγχυση και να μειώσει τη σημασία της ανατροφοδότησης.
  • Η απτική ανατροφοδότηση θα λειτουργήσει μόνο αν η εφαρμογή εκτελείται στο προσκήνιο, Σε μια συσκευή με υποστηριζόμενη μηχανή Taptic και η ρύθμιση System-Haptics είναι ενεργοποιημένη.
  • Κατά γενικό κανόνα, εμπιστευτείτε το σύστημα για να καθορίσετε αν πρέπει να παίξει ανατροφοδότηση. Μην ελέγχετε τον τύπο της συσκευής ή την κατάσταση της εφαρμογής για να ενεργοποιήσετε την ανατροφοδότηση. Αφού αποφασίσετε πώς θέλετε να χρησιμοποιήσετε την ανατροφοδότηση, ενεργοποιήστε την πάντα όταν προκύψουν τα κατάλληλα συμβάντα. Το σύστημα αγνοεί τα αιτήματα που δεν μπορεί να εκπληρώσει.

Παρακαλούμε διαβάστε σχετικά με τις οδηγίες και τις πληροφορίες σχετικά με την απτική ανατροφοδότηση από τις οδηγίες iOS Human Interface εδώ. Αυτό είναι ένα must-read.

Αυτό είναι. !

Απολαμβάνω!!

Αν σας άρεσε να διαβάζετε αυτή την ανάρτηση, παρακαλώ μοιραστείτε και δώστε μερικές χτυπήματα, ώστε άλλοι να το βρουν !!!!

Μπορείτε να με ακολουθήσετε στο Medium για φρέσκα αντικείμενα. Επίσης, συνδεθείτε μαζί μου στο LinkedIn.

Αν έχετε οποιοδήποτε σχόλιο, ερώτηση ή σύσταση, μη διστάσετε να τα δημοσιεύσετε στην παρακάτω ενότητα σχολίων!