Dans le développement iOS, quelle est la distinction entre une vue et un contrôle ?


Ils sont comme leurs noms l'indiquent.

Un contrôle gère le contrôle de l'application par l'utilisateur. En d'autres termes, c'est ce qui permet à l'utilisateur de contrôler l'état de l'application. Un UIControl est une sous-classe abstraite d'un UIView. Cela signifie qu'il incorpore toutes les caractéristiques d'une vue mais aussi les spécificités d'un contrôle. Un UIControl est un contrôle à l'écran, visible par l'utilisateur.


Tous les contrôles ne sont pas des UIControls. Par exemple, une Apple Watch peut être utilisée pour contrôler des apps sur l'iPhone, mais il n'y a pas d'UIControl correspondant à l'écran. Un autre exemple est un UIGestureRecognizer attribué à une vue. Un reconnaissant de gestes n'est pas visible et ne sous-classe pas UIView mais c'est un contrôle.

Les ajouts de sous-classe UIControl à une classe UIView :

  • Le suivi tactile de l'écran du dispositif de l'utilisateur - utilisé pour l'entrée de contrôle gestuel personnalisé.
  • Mappage des actions d'entrée de l'utilisateur (appelées événements) à des actions d'application - par exemple, mappage d'un UIControlEventTouchUpInside de l'utilisateur sur un bouton à une action d'application correspondant à l'appui sur le bouton.
  • État supplémentaire pour suivre si le contrôle est sélectionné, normal, mis en évidence, désactivé et focalisé. Cet état supplémentaire est utilisé pour changer la présentation visuelle du contrôle afin que l'utilisateur soit conscient de l'état du contrôle.

Un UIGestureRecognizer a une fonctionnalité similaire aux méthodes supplémentaires ajoutées pour un UIControl mais sans la vue. Les reconnaissances de gestes suivent les touchers, ont une propriété d'état et mappent les événements aux actions.

UIView

En général, une UIView est une représentation visuelle du modèle de l'application. Le modèle est l'information au cœur de l'application. Disons que le modèle est une adresse de rue. Certaines vues possibles sont : un affichage textuel de l'adresse, un affichage graphique de l'adresse sur une carte, un affichage des relations avec l'adresse.

L'application jouant du son ou des lumières clignotantes sont des formes plus génériques d'une vue de modèle. Par exemple, la lecture de la musique dans une application musicale est l'une des vues de la musique, même si elle n'est pas visuelle. D'autres vues de musique pourraient être une image de couverture d'album, une description textuelle avec les paroles & le nom, un spectacle de lumière, ... tout ce qui représente le modèle pour l'utilisateur.

.