En el desarrollo de iOS, ¿cuál es la distinción entre una vista y un control?

Son como sus nombres implican.

Un control maneja el control de la aplicación del usuario. En otras palabras, es lo que permite al usuario controlar el estado de la aplicación. Un UIControl es una subclase abstracta de un UIView. Esto significa que incorpora todas las características de una vista pero también incluye las características específicas de un control. Un UIControl es un control en pantalla, visible para el usuario.

No todos los controles son UIControls. Por ejemplo, un Apple Watch se puede utilizar para controlar aplicaciones en el iPhone, pero no hay ningún UIControl correspondiente en la pantalla. Otro ejemplo es un UIGestureRecognizer asignado a una vista. Un reconocedor de gestos no es visible y no subclase UIView pero es un control.

Adiciones de la subclase UIControl a una clase UIView:

  • Seguimiento táctil de la pantalla del dispositivo del usuario - utilizado para la entrada de control de gestos personalizados.
  • Mapeo de acciones de entrada del usuario (llamadas Eventos) a acciones de la aplicación - por ejemplo, mapeo de un UIControlEventTouchUpInside del usuario en un botón a una acción de la aplicación correspondiente a la pulsación del botón.
  • Estado adicional para el seguimiento de si el control está seleccionado, normal, resaltado, desactivado y enfocado. Este estado adicional se utiliza en el cambio de la presentación visual del control para que el usuario sea consciente del estado del control.

Un UIGestureRecognizer tiene una funcionalidad similar a los métodos adicionales añadidos para un UIControl pero sin la vista. Los reconocedores de gestos rastrean los toques, tienen una propiedad de estado y asignan eventos a acciones.

UIView

En general, un UIView es una representación visual del modelo de la aplicación. El modelo es la información en el corazón de la aplicación. Digamos que el modelo es una dirección. Algunas vistas posibles son: una visualización de texto de la dirección, una visualización gráfica del mapa de la dirección, una visualización de las relaciones con la dirección.

La aplicación que reproduce el sonido o las luces parpadeantes son formas más genéricas de una vista del modelo. Por ejemplo, la reproducción de música en una aplicación de música es una de las vistas de música aunque no sea visual. Otras vistas de música podrían ser una imagen de la portada del álbum, una descripción de texto con la letra y el nombre, un espectáculo de luces, ... cualquier cosa que represente el modelo para el usuario.