Haptische feedback voegt een hele nieuwe dimensie toe aan de interactie van mobiele gebruikers. Leer hoe u de nieuwe iPhone 7 haptische feedback-API's kunt gebruiken om uw gebruikers een voelbaar antwoord te geven.
In iOS 10 hebben we een nieuwe API om feedback te geven aan de gebruiker. Haptische feedback is een uitbreiding op de visuele feedback die elke gebruiker al gewend is. Als je een iPhone 7 of iPhone 7 Plus hebt, heb je mogelijk een kleine trilling van het apparaat opgemerkt tijdens het scrollen van een datumkiezer of bij het wijzigen van de waarde van een schakelaar - dat is haptische feedback. De nieuwe UIFeedbackGenerator
class kan worden gebruikt om hetzelfde gedrag in uw apps te implementeren.
De eerste regel van haptische feedback van de iOS Human Interface Guidelines: gebruik het niet te veel! Stuur geen nutteloze feedback naar uw gebruikers. Als u dit doet, kunnen ze besluiten deze functie uit te schakelen voor hun hele apparaat. Omdat het kan worden uitgeschakeld, gebruik geen haptische feedback als uw enige feedbackmethode voor uw gebruiker. Het is mogelijk niet beschikbaar op sommige apparaten en de verzoeken worden stilzwijgend genegeerd op oudere apparaten die dit niet ondersteunen.
Over het algemeen moet haptische feedback een reactie zijn op een door de gebruiker geïnitieerde actie. Op deze manier is het gemakkelijker voor gebruikers om de feedback te correleren met de bron.
Als u tenslotte tegelijkertijd een geluid wilt spelen, moet u ervoor zorgen dat het geluid wordt gesynchroniseerd.
Apple's What's New in iOS 10-document geeft aan dat een van de volgende drie concrete klassen moet worden gebruikt:
UIImpactFeedbackGenerator
biedt een fysieke metafoor die de visuele ervaring aanvult. De gebruiker kan bijvoorbeeld een plof voelen wanneer een weergave op zijn plaats schuift of twee objecten botsen. Het heeft drie variaties: succes, waarschuwing, en mislukking.UINotificationFeedbackGenerator
geeft aan dat een taak of actie, zoals het plaatsen van een cheque of het ontgrendelen van een voertuig, is voltooid, mislukt of een waarschuwing heeft gegenereerd. Het heeft drie variaties: licht, medium, en zwaar.UISelectionFeedbackGenerator
geeft aan dat de selectie actief verandert. De gebruiker voelt bijvoorbeeld lichte tikken tijdens het scrollen van een kiezerwiel. Deze feedback is bedoeld om beweging te communiceren via een reeks discrete waarden, geen selectie te maken of te bevestigen.Om deze verschillende typen uit te leggen, bevat de documentatie video's met geluid om het patroon van elk feedbacktype te illustreren. Probeer ze zelf uit op de Apple Developer-site.
Laten we nu beginnen met coderen! We gaan een zeer eenvoudige iOS-app bouwen die een succesfeedback geeft wanneer op een knop wordt gedrukt. Open Xcode 8 en maak een nieuw iOS-project.
Voeg een knop toe in uw storyboard bestand en maak een IBAction om de feedback te activeren.
De levenscyclus van een feedbackgenerator ziet er als volgt uit:
Ik zal je door elk van de onderstaande stappen leiden.
Verklaar eerst een nieuwe variabele van het type UINotificationFeedbackGenerator
. Als u een ander type feedback wilt gebruiken, hoeft u alleen deze klasse te wijzigen.
var feedbackGenerator: UINotificationFeedbackGenerator? // Declareer het generatortype.
Initialiseer de generator in viewDidLoad
:
override func viewDidLoad () super.viewDidLoad () feedbackGenerator = UINotificationFeedbackGenerator () // Start de generator.
Als u van tevoren weet dat de gebruiker feedback gaat geven, belt u het nummer bereiden()
methode. Dit vermindert de latentie tussen uw methodeaanroep en de feitelijke hardwarefeedback. Een voorbeeld is wanneer u tijdens een beweging meerdere feedback wilt geven. Bereid in dit geval eerst de generator voor zodat de latentie wordt verminderd.
In het voorbeeld dat we aan het bouwen zijn, kunnen we niet weten wanneer de gebruiker op de knop drukt. Daarom triggeren we binnen de actie meteen de feedback.
@IBAction func triggerNotification (_ sender: UIButton) feedbackGenerator? .NotificationOccurred (.success) // De haptische feedback triggeren.
We hebben de generator als optioneel verklaard, zodat we deze indien nodig kunnen instellen voor het geval we deze niet meer nodig hebben nul
om al zijn middelen vrij te geven. Dit is een optionele stap.
Er is momenteel geen manier om haptische feedback te testen in de Simulator. Je moet een iPhone 7 in handen krijgen en de stroom van de app testen met het nieuwe feedbacksysteem in actie. Start de app op je iPhone 7 en druk op de knop op het scherm. Je moet een succesfeedback voelen!
Wanneer u ondersteuning voor feedback toevoegt aan uw eigen app, moet u ervoor zorgen dat deze goed in de context aanvoelt die uw gebruikers zouden verwachten, anders zouden ze in de war kunnen raken.
Haptische feedback is een nieuwe geweldige functie om uw app realistischer te maken. Gebruikers waarderen het altijd als ze zien dat uw app de nieuwste functies van hun apparaat ondersteunt, dus ga ervoor en implementeer het meteen.
Bekijk in de tussentijd enkele van onze andere cursussen en zelfstudies over de ontwikkeling van Swift-apps en nieuwe functies in iOS 10.