Activity Indicator en la barra de estado

Activity-Indicator-en-la-barra-de-estado-2

En esta entrada vamos a ver como podemos poner un activity indicador en la barra de estado de nuestro dispositivo.

UIActivityIndicatorView

La clase UIActivityIndicatorView nos provee de un objeto que indicará al usuario que algo está funcionando en nuestra aplicación.

Se suele usar cuándo nuestra App descarga datos de internet o tiene que acceder algún servidor para alguna funcionalidad.

Es una especie de «ruletilla» que va girando hasta que la información se presenta en pantalla o bien se descarga la información en segundo plano.

Ni que decir tiene que siempre que implementéis tareas que puedan dejar vuestra aplicación, aunque sea sólo unos segundos sin hacer nada, es conveniente usar este objeto.

IMPLEMENTAR LA CLASE UIActivityIndicatorView

Si vamos a nuestra colección de objetos en Interface Builder, disponemos de este objeto ya creado, es tan sencillo como arrastrarlo dentro de nuestra vista (se suele ubicar en el centro de la pantalla) para que se muestre en nuestra aplicación.

Activity-Indicator-en-la-barra-de-estado

Para empezar a animar el activity y para pararlo, voy a añadir dos botones a mi vista.

Vuestro ViewController debe quedar más o menos así:

Activity-Indicator-en-la-barra-de-estado-2

Conectamos estos objetos, creando una conexión Outlet, es decir declarando una propiedad, y declarando dos métodos que iniciarán o pararán la animación según pulsemos uno u otro.

Debéis tener las siguientes conexiones:

@IBOutlet var activity: UIActivityIndicatorView!

@IBAction func activar(sender: AnyObject) {

}

@IBAction func desactivar(sender: AnyObject) {

}

IMPLEMENTAR MÉTODOS

En cada uno de los métodos simplemente le pasaremos a nuestro activity los mensajes: startAnimating y stopAnimating, para iniciar la animación y pararla respectivamente, vuestros métodos deben quedar implementados de la siguiente manera:

@IBAction func activar(sender: AnyObject) {

 

        //ANIMA EL ACTIVITY
       activity.startAnimating()

  }

@IBAction func desactivar(sender: AnyObject) {

       //PARA EL ACTIVITY
       activity.stopAnimating()

      //OCULTA EL ACTIVITY
       activity.hidden = true

}

Fijaos que también cuándo se para el activity, le oculto para que deje de mostrarse en pantalla 😉

MÉTODOS DELEGADOS

El objetivo del activity es decir al usuario que algo está pasando en la aplicación, que algún dato se está descargando, o bien que alguna funcionalidad de nuestra App está tomando algo de tiempo en ejecutarse.

Por ello, mandaremos los mensajes de iniciar animación y de pararse en métodos delegados de nuestro proyecto, o bien llamaremos a métodos que implementen estos mensajes al activity al empezar o terminar algún algoritmo.

ACTIVITY INDICATOR EN LA BARRA DE ESTADO

Ahora vamos a ver cómo podemos implementar un activity indicador en la barra de estado de nuestra aplicación.

La «ruletilla» será ahora muy pequeña, y aparecerá justo al lado del símbolo de WiFi o los datos móviles, algo parecido a esto:

Activity-Indicator-en-la-barra-de-estado-3

Para conseguir esta elegante implementación, debemos hacer uso de la clase UIApplication, y más concretamente usar la variable booleana networkActivityIndicatorVisible, y establecer su valor a true para mostrarla o false para ocultarla.

Podríamos declarar dos métodos como los siguientes para conseguirlo:

@IBAction func activar(sender: AnyObject) {

        //ANIMA EL ACTIVITY

        UIApplication.sharedApplication().networkActivityIndicatorVisible = true

    }

@IBAction func desactivar(sender: AnyObject) {

        //OCULTA EL ACTIVITY

        UIApplication.sharedApplication().networkActivityIndicatorVisible = false

    }

En el siguiente video-tutorial puedes ver cómo implementar un objeto de la clase UIActivityIndicatorView.

Recuerda que puedes aprender a crear Apps y conocer todos los secretos del desarrollo iOS con mis cursos gratuitos y de pago en CFE APPS Online.

Si tienes cualquier duda, déjame un comentario y te ayudo.

About The Author
iOS Developer & Instructor at CFE Apps. Enseño a crear aplicaciones iOS a todo el que quiera aprender.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.