3D Touch

Avec l’arrivée des nouveaux iPhones 6S et 6S Plus est aussi arrivée une nouvelle technologie permettant de mesurer la pression au toucher de l’écran. Cette technologie appelée 3D Touch permet de mesurer la pression de chacun de vos doigts sur l’écran mais aussi la taille de la zone touchée.

Apple a mis à disposition des développeurs 3 APIs permettant de simplifier l’intégration du 3D Touch dans les applications.

Quick Actions

Quick Action vous permet d’ajouter des raccourcis à certaines fonctions de votre application. Ces raccourcis sont accessibles depuis l’écran d’accueil par un appui sur l’icône de votre application avec une pression plus soutenue.

Pour créer un raccourci 3D Touch depuis l’icône de votre application il vous faut configurer une instance de la classe UIApplicationShortcutItem. Vous pouvez le faire de manière statique (dans le fichier Info.plist de votre app) ou de façon dynamique en créant vous même l’instance dans votre code.

La classe UIApplicationShortcutItem comporte les propriétés suivantes :

  • NSString *type;
  • NSString *localizedTitle;
  • NSString *localizedSubtitle;
  • UIApplicationShortcutIcon *icon;
  • NSDictionary *userInfo;

Configuration statique depuis Info.plist:

Capture d’écran 2015-11-23 à 18.22.43
Chaque propriété peut être configurée avec la clé lui correspondant.

  • type: UIApplicationShortcutItemType
  • localizedTitle: UIApplicationShortcutItemTitle
  • localizedSubtitle: UIApplicationShortcutItemSubtitle
  • icon: UIApplicationShortcutItemIconType ou UIApplicationShortcutItemIconFile
  • userInfo: UIApplicationShortcutItemUserInfo

La propriété icon peut être configurée avec une icône par défaut avec UIApplicationShortcutItemIconType (voir les icônes par défaut ici) ou avec une image en utilisant la clé UIApplicationShortcutItemIconFile et en paramètre le nom de l’image à utiliser.
Et finalement la propriété userInfo est configurée avec un dictionnaire.

Configuration dynamique:

Une fois initialisée, une instance de UIApplicationShortcutItem ne peut être modifiée.
Si vous avez besoin de pouvoir modifier un raccourci ‘Quick Action’ dynamique vous pouvez utiliser la classe UIMutableApplicationShortcutItem.

Finalement implémentez la méthode application:performActionForShortcutItem: dans votre AppDelegate pour réaliser l’action souhaitée.

QuickAction-Omnistat-small

Peek & Pop

Peek vous permet d’avoir un aperçu rapide du détail d’un objet en exerçant une légère pression sur ce dernier, une fois l’aperçu visible il vous est possible: d’accéder à la vue de détail (Pop) en exerçant une pression plus importante, ou tout simplement de refermer l’aperçu en relâchant la pression.

L’implémentation des actions Peek & Pop depuis un storyboard consiste simplement à cocher une checkbox !

Capture d’écran 2015-11-23 à 20.11.13

Si vous n’utilisez pas les storyboards c’est « presque » aussi simple, il vous suffit d’enregistrer votre contrôleur pour recevoir les événement Peek & Pop et d’implémenter les 2 fonctions du protocol UIViewControllerPreviewingDelegate.

  1. Enregistrer le contrôleur
  2. Répondre au protocol UIViewControllerPreviewingDelegate

PeekPop-Omnistat

UITouch

UITouch est une classe qui existe depuis le début de l’iOS, mais depuis l’arrivée du 3D Touch il est maintenant possible d’accéder à une nouvelle propriété nous informant sur la pression (force) de l’événement UITouch.

A vous d’imaginer comment utiliser au mieux cette information.

Pour un exemple d’utilisation voici comment afficher les événements UITouch et leurs propriétés en live sur votre écran : TouchTest.zip

En gris la zone touchée, en rouge la pression
UITouch

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *