prucommercialre.com


Gestión de eventos mientras su aplicación iOS está ejecutando

La mayoría de los eventos enviados a una aplicación iOS están encapsulados en un objeto de evento - una instancia de la clase UIEvent. En el caso de eventos relacionadas con el tacto, el objeto de evento contiene uno o más objetos táctiles (UITouch) que representan los dedos que están tocando la pantalla.

A medida que el usuario coloca los dedos en la pantalla, los mueve alrededor, y finalmente los elimina de la pantalla, el sistema informa de los cambios para cada dedo en el objeto toque correspondiente.

La distribución y la gestión de eventos es el trabajo de los objetos de respuesta, que son instancias de la clase UIResponder. El UIApplication, UIViewController, UIWindow y clases UIView (y su propia RTAppDelegate) todos heredan de UIResponder.

Después de tirar un evento fuera de la cola de eventos, la aplicación distribuye ese evento al objeto UIWindow donde ocurrió. El objeto de la ventana, a su vez, remite el caso a su primera respuesta, designado para ser el primero en recibir eventos distintos eventos táctiles.

En el caso de eventos de toque, el primer nivel de respuesta suele ser el objeto de vista (UIView) en la que el contacto se produjo. Por ejemplo, un evento de contacto que ocurren en un botón se entrega al objeto de botón correspondiente.

Si el primer nivel de respuesta no está en condiciones de manejar un evento, reenvía el evento para su próxima respuesta, que suele ser una vista padre o controlador de vista. Si ese objeto no es capaz de controlar el evento, se reenvía a su próxima respuesta, y así sucesivamente hasta que el evento se controla.

Esta serie de objetos de respuesta vinculados se conoce como la cadena de respuesta Mensajes seguir viajando por la cadena de respuesta -. Hacia los objetos de respuesta de más alto nivel, como la ventana de la aplicación, y el delegado de la aplicación - hasta que el caso se maneja o se desecha.

El objeto Responder que maneja un evento suele poner en marcha una serie de acciones programáticas de la aplicación. La siguiente lista proporciona la cronología de lo que realmente sucede cuando el usuario toca algo:

  1. Usted tiene un evento - grifos al usuario un botón, por ejemplo.

    El toque de un dedo (o el levantamiento de un dedo de la pantalla) agrega un toque evento a la cola de eventos de la aplicación, en el que éste se encapsula en - se coloca en, en otras palabras - un objeto UIEvent. Existe un objeto UITouch para cada dedo tocando la pantalla, para que pueda realizar un seguimiento de toques individuales. A medida que el usuario manipula la pantalla con sus dedos, el sistema informa de los cambios para cada dedo en el correspondiente - objeto.
  2. El monitor de bucle de ejecución distribuye el evento.

    Cuando ocurre algo que necesita ser procesada, el código de gestión de eventos de la UIApplication procesa eventos táctiles por enviarlos al objeto de respuesta apropiada - el objeto que se ha inscrito para tomar la responsabilidad de hacer algo cuando se produce un evento (cuando los toques de usuario la pantalla, por ejemplo).

    Responder objetos pueden incluir instancias de UIApplication, UIWindow y UIView (y cualquiera de sus subclases), así como UIViewController (y cualquiera de sus subclases). Todas estas clases heredan de UIResponder.

  3. Un objeto respondedor decide cómo manejar el evento.

    Por ejemplo, un evento que ocurre contacto con un botón en una vista se entrega al objeto de botón. El objeto de botón controla el evento mediante el envío de un mensaje de acción a otro objeto - en este caso, el objeto UIViewController.

    Esto le permite utilizar los objetos estándar de los botones sin tener que perder el tiempo en sus componentes internos - que acaba de decir el botón del método que desea que se invoca en su objetivo (por lo general el controlador de vista), y que está configurado básicamente.

    Procesar el mensaje puede resultar en cambios en una vista, una nueva visión en conjunto, o algún otro tipo de cambio en la interfaz de usuario. Cuando se produce uno de estos resultados, la infraestructura de vista y los gráficos se hace cargo y procesa los eventos de dibujo necesarios.

  4. Su aplicación vuelve entonces al bucle de ejecución.

    Después de un evento se maneja o se descarta, control de aplicación pasa de nuevo al bucle de ejecución. El bucle de ejecución procesa el próximo evento o pone el hilo a dormir si no tiene nada más que hacer.

Pero debido a que su aplicación no está solo en el dispositivo, que puede ser interrumpido por un mensaje SMS, o que el usuario toque el botón Home. Cuando se interrumpe la aplicación, usted tendrá que hacerse cargo de algunas cosas antes de que el control se cambia a otra aplicación.