Fornecendo feedback háptico no Xamarin.iOS

Visão geral

No iPhone 7 e iPhone 7 Plus, a Apple incluiu novas respostas hápticas que fornecem maneiras adicionais de envolver fisicamente o usuário. O Feedback Háptico (muitas vezes referido simplesmente como Háptico) usa o sentido do toque (através da força, vibrações ou movimento) no design da Interface do Usuário. Use essas novas opções de feedback tátil para chamar a atenção do usuário e reforçar suas ações.

Os tópicos a seguir serão abordados em detalhes:

Sobre o Haptic Feedback

Vários elementos internos da interface do usuário já fornecem feedback háptico, como Seletores, Switches e Controles Deslizantes. O iOS 10 agora adiciona a capacidade de acionar programaticamente hápticos usando uma subclasse concreta da UIFeedbackGenerator classe.

O desenvolvedor pode usar uma das seguintes UIFeedbackGenerator subclasses para disparar programaticamente o feedback háptico:

  • UIImpactFeedbackGenerator - Use este gerador de feedback para complementar uma ação ou tarefa, como apresentar um "baque" quando uma visualização desliza no lugar ou se dois objetos na tela colidem.
  • UINotificationFeedbackGenerator - Use este gerador de feedback para notificações como uma ação completa, falha ou qualquer outro tipo de aviso.
  • UISelectionFeedbackGenerator - Use este gerador de feedback para uma seleção que muda ativamente, como escolher um item de uma lista.

UIImpactFeedbackGenerator

Use esse gerador de comentários para complementar uma ação ou tarefa, como apresentar um "baque" quando uma exibição deslizar no lugar ou se dois objetos na tela colidirem.

Use o código a seguir para disparar comentários de impacto:

using UIKit;
...

// Initialize feedback
var impact = new UIImpactFeedbackGenerator (UIImpactFeedbackStyle.Heavy);
impact.Prepare ();

// Trigger feedback
impact.ImpactOccurred ();

Quando o desenvolvedor cria uma nova instância da classe, UIImpactFeedbackGenerator eles fornecem uma UIImpactFeedbackStyle especificação da força do feedback como:

  • Heavy
  • Medium
  • Light

O Prepare método do é chamado para informar ao sistema que o UIImpactFeedbackGenerator feedback háptico está prestes a ocorrer para que ele possa minimizar a latência.

O ImpactOccurred método, então, aciona o feedback háptico.

UINotificationFeedbackGenerator

Use este gerador de comentários para notificações como uma ação concluída, falha ou qualquer outro tipo de aviso.

Use o código a seguir para disparar comentários de notificação:

using UIKit;
...

// Initialize feedback
var notification = new UINotificationFeedbackGenerator ();
notification.Prepare ();

// Trigger feedback
notification.NotificationOccurred (UINotificationFeedbackType.Error);

Uma nova instância da UINotificationFeedbackGenerator classe é criada e seu Prepare método é chamado para informar ao sistema que o feedback háptico está prestes a ocorrer para que ele possa minimizar a latência.

O NotificationOccurred é chamado para desencadear o feedback háptico com um dado UINotificationFeedbackType de:

  • Success
  • Warning
  • Error

UISelectionFeedbackGenerator

Use este gerador de comentários para uma seleção que muda ativamente, como escolher um item de uma lista.

Use o código a seguir para disparar comentários de seleção:

using UIKit;
...

// Initialize feedback
var selection = new UISelectionFeedbackGenerator ();
selection.Prepare ();

// Trigger feedback
selection.SelectionChanged ();

Uma nova instância da UISelectionFeedbackGenerator classe é criada e seu Prepare método é chamado para informar ao sistema que o feedback háptico está prestes a ocorrer para que ele possa minimizar a latência.

O SelectionChanged método, então, aciona o feedback háptico.

Resumo

Este artigo abordou os novos tipos de feedback háptico disponíveis no iOS 10 e como implementá-los no Xamarin.iOS.