Αντίστροφη Μηχανική του Χρώματος Δείκτη Αρχική Σελίδα iPhone X.

Παρατήρησα μια ασυνήθιστη συμπεριφορά του δείκτη iPhone X στο σπίτι ενώ εργαζόμουν στην πιο πρόσφατη εφαρμογή μου. Το φόντο της εφαρμογής κοντά στην ένδειξη σπιτιού είναι μωβ. Όταν εκκινείται η εφαρμογή, ο δείκτης του σπιτιού είναι πολύ ανοιχτόχρωμος.

Αλλά κάτι παράξενο συνέβη όταν πατήσαμε το κουμπί "μοιράσου" της εφαρμογής, το οποίο άνοιξε μια προεπιλεγμένη προβολή δραστηριότητας iOS (γνωστή και ως "share sheet"). Όταν έχω πατήσει το κουμπί "Ακύρωση" για να κλείσω την προβολή δραστηριότητας, ο δείκτης του σπιτιού κινούμενο σε σκούρο γκρι χρώμα.

Η ένδειξη

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

Ποτέ δεν το είχα ξαναδεί, και προκάλεσε την περιέργειά μου.

Τι καθορίζει το χρώμα του δείκτη του σπιτιού και γιατί το συμπεριφέρεται έτσι; Η απάντηση είναι εκπληκτικά πολύπλοκη. Ας πάρουμε μια βαθιά βουτιά και να δούμε τι μπορούμε να μάθουμε!

Βασικά στοιχεία δείκτη αρχικής σελίδας

Τον Σεπτέμβριο του 2017, η Apple εισήγαγε την νεότερη επανάληψη του κινητού τηλεφώνου: το iPhone X. Το νέο σχέδιο αντικατέστησε το εικονικό κουμπί στο σπίτι με χειρονομίες στην οθόνη. Για να μεταβείτε στο σπίτι, ο χρήστης απλά περνάει από το κάτω μέρος της οθόνης.

https://www.apple.com/iphone-x/

Ο σκοπός του δείκτη του σπιτιού

Για να δημιουργηθεί το πλεονέκτημα ότι θα μπορείτε να σύρετε το δάχτυλό σας από το κάτω μέρος της οθόνης, η Apple πρόσθεσε μια μικρή οριζόντια μπάρα που είναι γνωστή ως ο δείκτης του σπιτιού. Ο δείκτης του σπιτιού είναι πάντα διαθέσιμος εκτός από την αρχική οθόνη και σε όλες τις εφαρμογές που ζητούν προσωρινή απόκρυψη (βίντεο, παιχνίδια, κλπ.).

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

Τοποθετώντας μια μπάρα στο κάτω μέρος, τα στοιχεία διεπαφής χρήστη στην ίδια θέση φαίνονται λανθασμένα - υπάρχει μια οπτική σύγκρουση μεταξύ της ράβδου και άλλων στοιχείων. Με αυτή την έννοια, ο δείκτης home "προστατεύει" αυτή την περιοχή της οθόνης από σχεδιαστές ή μηχανικούς που δεν γνωρίζουν τη λειτουργικότητα του iPhone X.

Δεν χρειάζεται κάποιος σχεδιαστής του UI να δει κάτι λάθος εδώ.

Τώρα που είμαστε όλοι στην ίδια σελίδα, ας επιστρέψουμε στην αρχική μας ερώτηση: "Τι χρώμα είναι ο δείκτης σπιτιού;"

Μέρος 1 - Η αρχή

Στις 13 Σεπτεμβρίου 2017, απάντησα σε μια ερώτηση περί υπερχείλισης στοίβας ζητώντας να αλλάξετε το χρώμα του δείκτη του σπιτιού.

Την εποχή εκείνη, το iPhone X δεν είχε κυκλοφορήσει δημόσια, αλλά η τελευταία έκδοση του Xcode περιελάμβανε έναν προσομοιωτή iPhone X. Η εκτέλεση μιας απλής εφαρμογής δοκιμής στον προσομοιωτή αποκάλυψε ότι το χρώμα του δείκτη του σπιτιού βασίστηκε στο χρώμα του περιεχομένου κάτω από αυτό.

Τα νέα API για το iPhone X κυκλοφόρησαν παράλληλα με την ίδια έκδοση του Xcode και δεν υπήρχε διαθέσιμο δημόσιο API για να αλλάξει το χρώμα του δείκτη του σπιτιού (κάτι που συμβαίνει ακόμα κατά τη στιγμή της εγγραφής αυτής της θέσης και πιθανότατα θα είναι πάντα η υπόθεση).

Αυτό έκανε την απάντησή μου στο Stack Overflow απλή και απλή: δεν είναι δυνατό να τροποποιήσετε το χρώμα και δεν πρέπει να ανησυχείτε, αφού είναι εκτός ελέγχου και εγγυημένη για να είναι ορατή.

Επειδή περίμενα αυτό να είναι μια κοινή ερώτηση, συμπεριλάμβανα μερικά screenshots του δείκτη home πάνω από διάφορα χρώματα φόντου.

Ορισμένα παραδείγματα χρώματος δείκτη σπιτιών από την απάντηση υπερχείλισης στοίβας.

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

Μέρος 2 - Το οικόπεδο αυξάνει

Αποδεικνύεται ότι το χρώμα του δείκτη του σπιτιού δεν είναι τόσο απλό. Κάποιες άλλες παρατηρήσεις τρύπησαν τη θεωρία μου "στερεόχρωμη λειτουργία".

Παρατήρηση # 1: Πολλαπλά χρώματα

Η πρώτη παρατήρηση είναι ότι ο δείκτης σπίτι μπορεί να έχει πολλαπλά χρώματα, παρόμοια με μια κλίση. Στο παρακάτω παράδειγμα, η αριστερή πλευρά της οθόνης είναι μαύρη και η δεξιά είναι λευκή. Η ένδειξη του σπιτιού προσαρμόζεται για αυτό, υιοθετώντας ένα ελαφρύτερο χρώμα πάνω στο σκοτεινό φόντο και ένα πιο σκούρο χρώμα πάνω στο ανοιχτό φόντο.

Εάν κοιτάξετε αρκετά κοντά, μπορείτε να δείτε τη μετάβαση από το γκρι σε μαύρο. (προσομοιωτή iOS)

Η ένδειξη του σπιτιού μπορεί να είναι πολλαπλά χρώματα ταυτόχρονα και να μεταβαίνει ομαλά μεταξύ τους. Αυτή η ομαλή μετάβαση ενημερώνεται σε πραγματικό χρόνο αν αλλάξει οποιαδήποτε από τις προβολές πίσω από τον δείκτη του σπιτιού.

Παρακολουθήστε την αλλαγή χρώματος του δείκτη του σπιτιού καθώς η λευκή όψη περνά κάτω. (προσομοιωτή iOS)

Στο παραπάνω παράδειγμα, μια μικρή λευκή όψη κινείται πίσω και πίσω από τον δείκτη του σπιτιού. Το τμήμα του δείκτη οικίας που καλύπτει τη λευκή όψη γίνεται καθαρό μαύρο και μεταβαίνει ομαλά στο γκρι.

Αυτή η συμπεριφορά είναι παρόμοια με μια UIVisualEffectView, η οποία εφαρμόζει μια θαμπάδα πάνω από το υπάρχον περιεχόμενο. Ο δείκτης του σπιτιού πιθανότατα παίρνει ένα δείγμα των κοντινών χρωμάτων για να εμφανιστεί το φαινόμενο του μείγματος που φαίνεται στην παραπάνω εικόνα.

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

Παρατήρηση # 2: Ίδιο φόντο, διαφορετικό χρώμα δείκτη οικίας

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

Η ένδειξη

Αυτή ήταν η πιο εκπληκτική παρατήρηση - δεν υπάρχει απλή χαρτογράφηση 1 προς 1 μεταξύ των χρωμάτων φόντου και των χρωμάτων του δείκτη του σπιτιού. Σε αυτό το σημείο ήμουν αποφασισμένη να μάθω περισσότερα μέσω πειραματισμού.

Μέρος 3 - Η έρευνα ξεκινά

Η πρώτη σειρά εργασιών μου ήταν να προσδιορίσω τον τύπο για το χρώμα του δείκτη του σπιτιού στο προσομοιωτή iOS. Από τις προηγούμενες παρατηρήσεις μου, η συμπεριφορά του προσομοιωτή iOS ήταν πιο προβλέψιμη από μια πραγματική συσκευή.

Δημιούργησα μια νέα εφαρμογή iOS ως εργαστήριο για τα μελλοντικά μου πειράματα. Η εφαρμογή ήταν απλή - το μόνο που χρειαζόμουν ήταν ένας εύκολος τρόπος να αλλάξω το χρώμα φόντου πίσω από τον δείκτη του σπιτιού. Ένας ρυθμιστής και ένα stepper ελέγχουν τη γκρι τιμή του χρώματος του φόντου, η οποία εμφανίζεται ως ένας μεγάλος αριθμός στο κέντρο της οθόνης.

Η εφαρμογή που δημιουργήθηκε για τη δοκιμή του δείκτη οικίας.

Ο στόχος μου ήταν να προσδιορίσω το χρώμα δείκτη του σπιτιού για κάθε πιθανό χρώμα γκρίζου φόντου. Θα μπορούσα να γράψω αυτά τα δεδομένα και να δω αν εφαρμοζόταν ένας τύπος. Δεδομένου ότι υπήρχαν μόνο 256 δυνατότητες, πήρα τη χειροκίνητη προσέγγιση, χρησιμοποιώντας την ενσωματωμένη εφαρμογή "Digital Color Meter" της macOS για να αποκτήσετε το χρώμα δείκτη του σπιτιού για κάθε τιμή.

Γράφω τα αποτελέσματα. Δεν ήταν μια γραμμική συνάρτηση, μια εκθετική λειτουργία ή οποιοδήποτε είδος "ωραίας" λειτουργίας που θα μπορούσατε να δείτε στην τάξη των μαθηματικών.

Το γράφημα ήταν ... περίεργο.

Αυτό δεν περίμενα.

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

Το πιο ασυνήθιστο μέρος ήταν ότι το χρώμα του δείκτη του σπιτιού δεν μειωνόταν πάντοτε. Υπήρξε μια περίοδος (γύρω από το rgb 170-190) όπου έγινε ελαφρύτερο καθώς το φόντο έγινε ελαφρύτερο.

Γιατί το γράφημα μοιάζει με αυτό; Τι θα είχε το ίδιο πείραμα με παρόμοια αποτελέσματα σε μια πραγματική συσκευή; Πρέπει να το ξέρω.

Μέρος 4 - Η έρευνα συνεχίζεται

Το επόμενο έργο μου ήταν να εκτελέσω το ίδιο πείραμα σε μια πραγματική συσκευή. Ήταν αμέσως προφανές ότι τα αποτελέσματα θα ήταν δραματικά διαφορετικά.

Για να συλλέξω δεδομένα σε μια πραγματική συσκευή, χρησιμοποίησα την ίδια εφαρμογή από πριν. Επέστρεψα μια ζωντανή προεπισκόπηση της οθόνης iPhone στον υπολογιστή μου μέσω του QuickTime. Αυτό απομάκρυνε κάθε αποχρωματισμό από την οθόνη True Tone, καθώς μου επέτρεψε να χρησιμοποιήσω την εφαρμογή Digital Color Meter για εύκολη επιθεώρηση των χρωμάτων.

Ένας άλλος παράγοντας που προστέθηκε στην πολυπλοκότητα μιας πραγματικής συσκευής - οι τιμές κόκκινου, πράσινου και μπλε δεν ήταν πάντα οι ίδιες. Στο προσομοιωτή, οι τιμές RGB ήταν ίδιες, με αποτέλεσμα χρώματα όπως το RGB (54, 54, 54). Σε μια πραγματική συσκευή, δεν ήταν σχεδόν ποτέ το ίδιο, αλλά ήταν πολύ κοντά, με αποτέλεσμα χρώματα όπως το RGB (211, 209, 212). Κατά την καταγραφή των αποτελεσμάτων, πήρα τον μέσο όρο των μεμονωμένων τιμών RGB.

Εδώ είναι τα αποτελέσματα, σε σύγκριση με τα προηγούμενα δεδομένα του προσομοιωτή.

Τα χρώματα σε μια πραγματική συσκευή (κόκκινη γραμμή) ακολουθούν μια παρόμοια τάση με εκείνες στον προσομοιωτή (μπλε γραμμή), εκτός από την αντιστάθμιση με ένα σημαντικό περιθώριο. Ο δείκτης home simulator είναι πάντα πολύ σκοτεινός, ενώ ο δείκτης home device είναι πολύ ελαφρός ή πολύ σκοτεινός.

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

Ωστόσο, το παραπάνω γράφημα δεν λέει ολόκληρη την ιστορία.

Οι τιμές που παρουσιάστηκαν παραπάνω συγκεντρώθηκαν ξεκινώντας από το φόντο εντελώς μαύρο και αυξάνοντας τις τιμές RGB μία κάθε φορά (από 0 έως 255). Όταν οι τιμές συγκεντρώνονται προς την αντίθετη κατεύθυνση, τα αποτελέσματα είναι διαφορετικά.

Σε κάποιο σημείο, το χρώμα του δείκτη του σπιτιού "πέφτει από το βράχο" κατά τη μετάβασή του από το φως στο σκοτάδι ή το σκοτάδι στο φως και ζωντανεύει για ένα σύντομο χρονικό διάστημα, όπως φαίνεται στο προηγούμενο gif με το πορφυρό χρώμα του φόντου. Ανάλογα με το αν το φόντο αρχίζει φωτεινό ή σκοτεινό, ο βράχος εμφανίζεται σε διαφορετικό σημείο.

Ας ρίξουμε μια ματιά σε ένα νέο γράφημα που συγκρίνει τα αποτελέσματα από "ανεβαίνοντας" (μαύρο σε λευκό) και "πηγαίνοντας κάτω" (άσπρο σε μαύρο).

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

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

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

Αυτό εξηγεί την αλλαγή χρώματος στην εφαρμογή με το μωβ φόντο. Το πορφυρό χρώμα πρέπει να βρίσκεται σε μια περιοχή μεταξύ των δύο γκρεμών. Με βάση το προηγούμενο χρώμα του δείκτη οικίας, θα μπορούσε να είναι είτε ανοιχτόχρωμο είτε σκοτεινό. Όταν η λευκή προβολή δραστηριότητας κινείται πίσω από τον δείκτη του σπιτιού καθώς απορρίπτεται, ο δείκτης του σπιτιού μεταβαίνει από την κατάσταση φωτός στο σκοτεινό του και επαναρυθμίζεται στην τιμή σκοτεινής εξισορρόπησης για το πορφυρό χρώμα φόντου.

Μέρος 5 - Η έρευνα γίνεται πολύχρωμη

Όλες οι δοκιμές μέχρι τώρα έχουν χρησιμοποιήσει υπόβαθρο του γκρι. Πώς θα διαφέρουν τα αποτελέσματα εάν χρησιμοποιήσαμε έγχρωμο υπόβαθρο;

Επαναλαμβάνω το ίδιο πείραμα, αλλά αντί να τροποποιώ το γκρι χρώμα, τροποποίησα την απόχρωση σε μια κλίμακα HSB. Διατήρησα τον κορεσμό (S) και τη φωτεινότητα (B) στις μέγιστες τιμές τους για να αποκτήσω τα πιο ζωντανά και ξεχωριστά χρώματα. Δοκίμασα μόνο αυτά τα χρώματα "ανεβαίνοντας", που στην περίπτωση αυτή σημαίνει από την απόχρωση 0 (κόκκινη) έως την απόχρωση 255 (κόκκινη) σε σειρά ουράνιου τόξου.

Η πρώτη παρατήρηση είναι ότι υπάρχουν δύο βράχια - μια φορά όταν το χρώμα γίνει κίτρινο, και πάλι όταν το χρώμα γίνεται σκούρο μπλε. Αυτό συμβαίνει λόγω της σχετικής "φωτεινότητας" των χρωμάτων.

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

Αυτά είναι συναρπαστικά ευρήματα μέχρι στιγμής. Εκτός από τη δοκιμή κάθε πιθανού χρώματος φόντου, δεν υπάρχει τίποτα άλλο που μπορούμε να ανακαλύψουμε μόνο από την παρατήρηση. Τώρα ήμουν περίεργος ακριβώς πώς υλοποιείται ο δείκτης του σπιτιού - είναι μια UIView; CALayer; UIVisualEffectView; Κάτι άλλο? Τι κάνει να συμπεριφέρεται με αυτόν τον τρόπο;

Ας ανακαλύψουμε.

Μέρος 6 - Πρέπει να πάμε βαθύτερα!

Σε αυτό το σημείο στράφηκα στον φίλο μου και τον εμπειρογνώμονα της iOS Ian McDowell. Ήταν σε θέση να με κατευθύνει προς τη σωστή κατεύθυνση - χρησιμοποιώντας το iPhone X Simulator και τα εργαλεία εντοπισμού σφαλμάτων του Xcode για να βρείτε τον δείκτη του σπιτιού.

Η αρχική οθόνη iOS είναι μια εφαρμογή που ονομάζεται SpringBoard. Μπορούμε να επισυνάψουμε ένα πρόγραμμα εντοπισμού σφαλμάτων στην εφαρμογή Springboard που εκτελείται στον προσομοιωτή iPhone X και να χρησιμοποιήσετε την επιλογή "Ιεραρχία προβολής εντοπισμού σφαλμάτων" για να ελέγξετε τις προβολές που συνθέτουν την αρχική οθόνη, συμπεριλαμβανομένης της ένδειξης του σπιτιού.

Αν θέλετε να ακολουθήσετε στο σπίτι σας, εδώ είναι η διαδικασία:

  1. Ξεκινήστε έναν προσομοιωτή iPhone X.
  2. Στο Xcode, επιλέξτε Debug> Attach to Process ...> SpringBoard.
  3. Όταν εκτελείται το SpringBoard, επιλέξτε το κουμπί Debug View Heirarchy.

Βαθιά στην ιεραρχία προβολής συναντάμε ένα MTLumaDodgePillView το οποίο είναι μια υποενότητα ενός SBHomeGrabberView. Ακούγεται ότι βρήκαμε τον δείκτη του σπιτιού!

Βρήκαμε τον δείκτη του σπιτιού!

Το όνομα MTLumaDodgePillView έχει νόημα. Επιβεβαιώνει την παρατηρούμενη συμπεριφορά του δείκτη οικίας, ότι το χρώμα του έρχεται σε αντίθεση με το φόντο με βάση την τρέχουσα φωτεινότητα του.

Μπορούμε να πάμε ακόμα πιο βαθιά;

Το SpringBoard έχει μια άλλη συναρπαστική λειτουργία: ένα κρυφό μενού εντοπισμού σφαλμάτων. Αποδεικνύεται ότι υπάρχει ένα ολόκληρο τμήμα για την τροποποίηση ιδιοτήτων του δείκτη του σπιτιού. Σε αυτό το μενού εντοπισμού σφαλμάτων, ο δείκτης home καλείται "grabber".

Τόσες πολλές διασκεδαστικές διαδρομές για να παίξετε με.

Αυτό το μενού εντοπισμού σφαλμάτων περιέχει κυρίως οπτικές και κινούμενες ρυθμίσεις. Είναι πιθανότατα χρησιμοποιείται για τη συνεργασία μεταξύ του σχεδιασμού και της μηχανικής στην Apple. Η μηχανική χτίζει τον δείκτη του σπιτιού, παρέχει άγκιστρα σε όλες τις εσωτερικές παραμέτρους, επιτρέπει στους σχεδιαστές να παίζουν μαζί τους μέχρι να είναι ικανοποιημένοι και οι μηχανικοί χρησιμοποιούν τις ρυθμίσεις για το τελικό προϊόν.

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

Πρώτα έπαιξα με την οπτική εμφάνιση του δείκτη του σπιτιού. Υπάρχουν διαδρομές για το πλάτος και το ύψος σε διάφορες καταστάσεις.

Ορισμένα μεγέθη δείκτη εναλλασσόμενου σπιτιού.

Οι άλλες ρυθμίσεις είναι πιο δύσκολο να δοκιμαστούν, καθώς δεν φαίνεται να ισχύουν για τον προσομοιωτή. Υπάρχουν ρυθμίσεις για ένα "όριο luma" για το φως και το σκοτάδι, καθώς και για τις παραμέτρους για την κίνηση ανάμεσα στις καταστάσεις. Αυτό επιβεβαιώνει τους "βράχους" όπου το χρώμα θα ζωντανόταν δραματικά ανάμεσα στο φως και το σκοτάδι - υπάρχουν προκαθορισμένα όρια βάσει της φωτεινότητας του φόντου.

Δεν κατάφερα να προσδιορίσω γιατί ο προσομοιωτής συμπεριφέρεται τόσο διαφορετικά από μια πραγματική συσκευή. Υποθέτω ότι ο προσομοιωτής χρησιμοποιεί διαφορετικό συνδυασμό ρυθμίσεων ή ότι ορισμένες ρυθμίσεις ισχύουν μόνο για πραγματικό υλικό.

Θέλετε να μάθετε περισσότερα σχετικά με την αντίστροφη μηχανική στο iOS; Ο Sash Zats δημοσίευσε ένα εκπληκτικό σε βάθος άρθρο σχετικά με τον δείκτη του σπιτιού. Ελέγξτε αν θέλετε να βάλετε περισσότερους κώδικες!

Αυτό σηματοδοτεί το τέλος της περιπέτειας της ανακάλυψης δείκτη στο σπίτι. Ελπίζω ότι ήταν τόσο εκπαιδευτικό για σας όπως και για μένα!

Υψηλού επιπέδου τακτικές

  1. Το χρώμα του δείκτη του σπιτιού καθορίζεται από το σύστημα και δεν μπορεί να τροποποιηθεί άμεσα.
  2. Το χρώμα του δείκτη του σπιτιού καθορίζεται από το περιεχόμενο που βρίσκεται κάτω από αυτό και δεν είναι πάντα ένα συμπαγές χρώμα.
  3. Ο δείκτης σπιτιού στον προσομοιωτή δεν είναι ακριβής αναπαράσταση του δείκτη οικίας σε μια πραγματική συσκευή.
  4. Ο δείκτης οικίας κινείται στο νέο χρώμα του όταν το περιεχόμενο κάτω από τις αλλαγές.
  5. Ο δείκτης του σπιτιού είναι είτε σε "ελαφριά" είτε σε "σκούρο" κατάσταση.

Μα γιατί?

Γιατί να ασχοληθούμε με τον ερεθισμό του σπιτιού εάν η εμφάνισή του είναι εκτός ελέγχου μας;

Υπάρχει μια πρακτική εφαρμογή για αυτά τα μαθήματα: Εάν μια οθόνη στην εφαρμογή σας έχει χρώμα φόντου στο μεσαίο εύρος όπου ο δείκτης του σπιτιού μπορεί να είναι είτε ανοιχτός είτε σκοτεινός, μπορείτε να προτιμήσετε ένα στυλ πάνω από το άλλο. Εάν η γραμμή κατάστασης είναι λευκή, για παράδειγμα, μπορεί να φαίνεται πιο ισορροπημένη οπτικά εάν ο δείκτης οικίας είναι επίσης λευκός. Η συνειδητοποίηση της εκλεκτής συμπεριφοράς του δείκτη του σπιτιού μπορεί να σας βοηθήσει να διασφαλίσετε ότι δεν κινδυνεύει να ζωντανέψει ανάμεσα στο φως και το σκοτάδι όταν θα μπορούσε να αποσπά την προσοχή του χρήστη.

Προτιμήστε το ένα από το άλλο;

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

Αν ήθελα να αποφύγω αυτό, θα μπορούσα να κάνω μια οπτική γωνία πίσω από τον δείκτη του σπιτιού μεταξύ της ασφαλούς περιοχής και του κάτω άκρου της οθόνης. Όταν το φύλλο μετοχής απορριφθεί, θα μπορούσα να του δώσω ένα πιο σκούρο χρώμα φόντου (ίσως το μαύρο με 40% άλφα) και να προσθέσω μια κινούμενη εικόνα, ώστε να είναι λιγότερο αισθητή.

Αυτή η ίδια τακτική θα μπορούσε να χρησιμοποιηθεί για να ρυθμίσει το χρώμα του δείκτη του σπιτιού - αναγκάζοντάς τον σε έναν από τους "γκρεμούς". Στη συντριπτική πλειοψηφία των περιπτώσεων, ο δείκτης κατοικίας πρέπει να μείνει μόνος για να κάνει ό, τι θέλει. Οι περισσότεροι χρήστες του iPhone X πιθανότατα έχουν ήδη ξεχάσει ότι είναι ακόμη και εκεί.

Το Πραγματικό Μάθημα

Ας ελπίσουμε ότι αυτή η σύντομη έρευνα σχετικά με το χρώμα του δείκτη του σπιτιού μας βοηθά να εκτιμήσουμε την πολυπλοκότητα του απλού σχεδιασμού. "Είναι απλά ένα μαύρο / λευκό μπαρ!" Απέχει πολύ από την αλήθεια. Το ποσό της φροντίδας και της προσοχής στη λεπτομέρεια που πήγε στον δείκτη του σπιτιού αξίζει να εκτιμηθεί.

Λαμβάνοντας κάτι απλό, διερευνώντας τις εσωτερικές της πολυπλοκότητες και εξετάζοντας το σχεδιασμό της, μας βοηθά να μάθουμε για τη δημιουργική διαδικασία. Με το συνδυασμό σχεδιασμού και μηχανικής, μπορούμε να κατασκευάσουμε καλύτερα προϊόντα που είναι απλά και ευχάριστα στη χρήση.

Απολαύσατε την ιστορία; Αφήστε μερικά χτυπήματα εδώ στο Medium και μοιραστείτε το με τους φίλους σας iOS design / dev. Θέλετε να μείνετε ενημερωμένοι σχετικά με τις τελευταίες εκδόσεις του σχεδιασμού εφαρμογών για κινητά / dev; Ακολουθήστε με στο Twitter εδώ: https://twitter.com/nathangitter

Χάρη στον Ian McDowell και στον David Okun για την αναθεώρηση προηγούμενων σχεδίων αυτής της θέσης.