Sobes.tech
Junior — Middle

Est-il possible de gérer les événements utilisateur dans l'interface lorsque la propriété userInteractionEnabled est définie sur false?

sobes.tech IA

Réponse de l'IA

Si une vue UIView ou sa sous-classe a la propriété userInteractionEnabled est définie sur false, cet élément et tous ses éléments enfants ne recevront pas d'événements d'interaction (touches, gestes, etc.).

Cependant, si vous souhaitez traiter les événements malgré userInteractionEnabled = false, vous pouvez :

  • Redéfinir les méthodes de gestion des événements dans le contrôleur parent ou un autre contrôleur.
  • Utiliser des gestes (UITapGestureRecognizer et autres) ajoutés à la vue parente qui a userInteractionEnabled = true.
  • Créer une couche transparente au-dessus qui interceptera les événements.

Directement sur l'élément avec userInteractionEnabled = false, la gestion des événements n'est pas possible, car le système ne lui transmet pas les événements.