Haptisk tilbakemelding gir en helt ny dimensjon til mobil brukerinteraksjon. Lær hvordan du bruker de nye iPhone 7-haptisk tilbakemelding APIene for å gi brukerne en taktil respons.
I IOS 10 har vi en ny API for å gi tilbakemelding til brukeren. Haptisk tilbakemelding er en utvidelse av den visuelle tilbakemeldingen som hver bruker er vant til allerede. Hvis du har en iPhone 7 eller iPhone 7 Plus, har du kanskje lagt merke til en liten vibrasjon av enheten mens du ruller en datovelger eller når du endrer verdien av en bryter, det er haptisk tilbakemelding. Den nye UIFeedbackGenerator
klassen kan brukes til å implementere samme oppførsel i appene dine.
Den første regelen om haptisk tilbakemelding fra retningslinjene for iOS Human Interface: Ikke bruk det for mye! Du bør ikke sende ubrukelig tilbakemelding til brukerne dine. Hvis du gjør det, kan de bestemme seg for å slå av denne funksjonen for hele enheten. Fordi den kan deaktiveres, ikke bruk haptisk tilbakemelding som din eneste metode for tilbakemelding hos brukeren. Det er kanskje ikke tilgjengelig på enkelte enheter, og forespørslene vil lydløst bli ignorert på eldre enheter som ikke støtter det.
Generelt bør haptisk tilbakemelding være et svar på en brukerinitiert handling. På denne måten er det lettere for brukerne å korrelere tilbakemeldingen med sin kilde.
Til slutt, hvis du vil spille en lyd samtidig, bør du passe på å synkronisere den.
Apples Hva er nytt i IOS 10-dokument angir at en av følgende tre konkrete klasser skal brukes:
UIImpactFeedbackGenerator
gir en fysisk metafor som utfyller den visuelle opplevelsen. For eksempel kan brukeren føle en tynn når en visning glir på plass eller to objekter kolliderer. Den har tre variasjoner: suksess, advarsel, og svikt.UINotificationFeedbackGenerator
indikerer at en oppgave eller handling, for eksempel å sette inn en sjekk eller låse opp et kjøretøy, har fullført, mislyktes eller produsert en advarsel. Den har tre variasjoner: lys, medium, og tung.UISelectionFeedbackGenerator
indikerer at valget endres aktivt. For eksempel føles brukeren lyse kraner mens du ruller et plukkhjul. Denne tilbakemeldingen er ment for å kommunisere bevegelse gjennom en rekke diskrete verdier, ikke å lage eller bekrefte et valg.For å forklare disse forskjellige typene, har dokumentasjonen videoer med lyd for å illustrere mønsteret for hver tilbakemeldingstype. Prøv dem selv på Apple Developer-siden.
La oss nå begynne å kode! Vi skal bygge en veldig enkel iOS-app som gir en tilbakemelding på tilbakemeldinger når en knapp trykkes. Åpne Xcode 8 og opprett et nytt iOS-prosjekt.
Legg til en knapp i din Storyboard fil og opprett en IBAction å utløse tilbakemeldingen.
En tilbakemeldingsgenerators livssyklus ser slik ut:
Jeg vil gå deg gjennom hvert av disse trinnene nedenfor.
Først erklærer du en ny variabel av typen UINotificationFeedbackGenerator
. Hvis du vil bruke en annen type tilbakemelding, endrer du bare denne klassen.
var feedbackGenerator: UINotificationFeedbackGenerator? // Deklar generator type.
Initialiser generatoren i viewDidLoad
:
overstyr func viewDidLoad () super.viewDidLoad () feedbackGenerator = UINotificationFeedbackGenerator () // Instantiate the generator.
Hvis du vet på forhånd at brukeren skal utløse en tilbakemelding, bør du ringe forberede()
metode. Dette vil redusere ventetiden mellom metallsamtalen og den faktiske maskinvare tilbakemelding. Et eksempel er når du vil gi flere tilbakemeldinger under en gest. I dette tilfellet skal du først forberede generatoren slik at ventetiden reduseres.
I eksemplet som vi bygger, har vi ingen måte å vite når brukeren trykker på knappen. Av denne grunn, i handlingen utløser vi tilbakemeldingen med en gang.
@IBAction func triggerNotification (_ sender: UIButton) feedbackGenerator? .NotificationOccurred (.success) // Trigger den haptiske tilbakemeldingen.
Vi har erklært generatoren som valgfri slik at, hvis vi ikke trenger det lenger, kan vi sette det som nil
å frigjøre alle sine ressurser. Dette er et valgfritt trinn.
Det er for øyeblikket ingen måte å teste haptisk tilbakemelding på Simulator. Du bør få hendene på en iPhone 7 og teste ut strømmen av appen med det nye tilbakemeldingssystemet i bruk. Kjør appen på din iPhone 7 og trykk på knappen på skjermen. Du bør føle en suksess tilbakemelding!
Når du legger til tilbakemeldingsstøtte til din egen app, må du sørge for at den føles riktig i sammenheng som brukerne ville forvente, ellers kunne de bli forvirret.
Haptisk tilbakemelding er en ny flott funksjon for å gjøre appen din mer realistisk. Brukere setter pris på at appen din støtter de nyeste funksjonene i enheten, så fortsett og implementer det med en gang.
I mellomtiden kan du se noen av våre andre kurs og opplæringsprogrammer om Swift app-utvikling og nye funksjoner i IOS 10.