La retroalimentación háptica agrega una nueva dimensión a la interacción del usuario móvil. Aprenda a usar las nuevas API de retroalimentación háptica de iPhone 7 para brindar a sus usuarios una respuesta táctil.
En iOS 10 tenemos una nueva API para proporcionar comentarios al usuario. La retroalimentación háptica es una extensión de la retroalimentación visual a la que ya están acostumbrados todos los usuarios. Si tiene un iPhone 7 o iPhone 7 Plus, es posible que haya notado una pequeña vibración en el dispositivo mientras se desplaza un selector de fecha o al cambiar el valor de un interruptor, eso es retroalimentación táctil. El nuevo UIFeedbackGenerator
La clase puede usarse para implementar el mismo comportamiento en tus aplicaciones..
La primera regla de retroalimentación háptica de las Pautas de interfaz humana de iOS: ¡no la use en exceso! No debes enviar comentarios inútiles a tus usuarios. Si lo hace, pueden decidir desactivar esta función para todo su dispositivo. Debido a que se puede deshabilitar, no utilice la retroalimentación háptica como su único método de retroalimentación con su usuario. Es posible que no esté disponible en algunos dispositivos, y las solicitudes se ignorarán silenciosamente en dispositivos más antiguos que no lo admiten.
En general, la retroalimentación háptica debe ser una respuesta a una acción iniciada por el usuario. De esta manera, es más fácil para los usuarios correlacionar la retroalimentación con su fuente.
Finalmente, si quieres reproducir un sonido al mismo tiempo, debes tener cuidado de sincronizarlo.
El documento Novedades de Apple en iOS 10 especifica que se debe usar una de las siguientes tres clases concretas:
UIImpactFeedbackGenerator
Proporciona una metáfora física que complementa la experiencia visual. Por ejemplo, el usuario puede sentir un ruido sordo cuando una vista se desliza en su lugar o dos objetos chocan. Tiene tres variaciones: éxito, advertencia, y fracaso.UINotificationFeedbackGenerator
indica que una tarea o acción, como depositar un cheque o desbloquear un vehículo, ha completado, fallado o producido una advertencia. Tiene tres variaciones: ligero, medio, y pesado.UISelectionFeedbackGenerator
Indica que la selección está cambiando activamente. Por ejemplo, el usuario siente pequeños golpecitos mientras se desplaza una rueda selectora. Esta retroalimentación está destinada a comunicar el movimiento a través de una serie de valores discretos, no hacer o confirmar una selección.Para explicar estos diferentes tipos, la documentación tiene videos con sonido para ilustrar el patrón de cada tipo de retroalimentación. Pruébalos tú mismo en el sitio de desarrolladores de Apple.
¡Ahora comencemos a codificar! Vamos a construir una aplicación iOS muy simple que proporciona una retroalimentación exitosa cuando se presiona un botón. Abre Xcode 8 y crea un nuevo proyecto iOS.
Agrega un botón en tu Guión gráfico archiva y crea un IBAcción para activar la retroalimentación.
El ciclo de vida de un generador de comentarios se ve así:
Te guiaré a través de cada uno de estos pasos a continuación..
Primero, declara una nueva variable de tipo. UINotificationFeedbackGenerator
. Si desea utilizar otro tipo de comentarios, simplemente cambie esta clase.
var feedbackGenerator: UINotificationFeedbackGenerator? // Declarar el tipo de generador.
Inicialice el generador en viewDidLoad
:
anular func viewDidLoad () super.viewDidLoad () feedbackGenerator = UINotificationFeedbackGenerator () // Crear una instancia del generador.
Si sabe de antemano que el usuario va a activar un comentario, debe llamar al preparar()
método. Esto reducirá la latencia entre la llamada de método y la realimentación de hardware real. Un ejemplo es cuando desea dar múltiples opiniones durante un gesto. En este caso, primero prepare el generador para reducir la latencia..
En el ejemplo que estamos construyendo, no tenemos forma de saber cuándo el usuario presionará el botón. Por esta razón, dentro de la acción activamos la retroalimentación de inmediato..
@IBAction func triggerNotification (_ sender: UIButton) feedbackGenerator? .NotificationOccurred (.success) // Activa la retroalimentación háptica.
Hemos declarado el generador como opcional para que, en caso de que ya no lo necesitemos, podamos configurarlo como nulo
Para liberar todos sus recursos. Este es un paso opcional.
Actualmente no hay manera de probar la retroalimentación háptica en el Simulador. Debería tener en sus manos un iPhone 7 y probar el flujo de la aplicación con el nuevo sistema de retroalimentación en acción. Ejecute la aplicación en su iPhone 7 y presione el botón en la pantalla. Deberías sentir un feedback de éxito.!
Al agregar soporte de retroalimentación a su propia aplicación, asegúrese de que se sienta bien en el contexto que sus usuarios esperarían, de lo contrario podrían confundirse.
La retroalimentación háptica es una nueva gran característica para hacer que su aplicación se sienta más realista. Los usuarios siempre aprecian ver que su aplicación es compatible con las últimas funciones de su dispositivo, así que adelante e implementarlo de inmediato.
Mientras tanto, echa un vistazo a algunos de nuestros otros cursos y tutoriales sobre el desarrollo de aplicaciones Swift y las nuevas características en iOS 10.