lunes, 2 de junio de 2014

Eliminar la barra de estado

En el artículo de hoy os mostraré diferentes opciones de la barra de estado o cómo ocultarla.

En iOS 7 para modificar diferentes parámetros de la barra de estado es necesario añadir una línea al info.plist. Añadimos la línea "View controller-based status bar appearance" de tipo booleano y le ponemos el valor "NO".




Ahora desde la vista "General" podemos empezar a configurar nuestra barra de estado. Contamos con un checkbox para indicar si queremos que se muestre en la vista de precarga, y cómo queremos que aparezca a lo largo de la Aplicación. En modo "default" donde los textos e imágenes de la barra de estado aparecerán en negro o en "light content" donde aparecerán en blanco. También podemos indicar si queremos que sea translúcida (con un alpha de 0.5) u opaca.




Si trabajamos con storyboard o con .xib (archivos de interfaz) podemos modificar la barra de estado desde la siguiente pestaña.





Ahora 0s explicaré como trabajo yo, al más puro estilo ninja. Para los que no utilicéis ningún editor de interfaz y programéis todas las vistas por código aquí os dejo como trabajar con la barra de estado. Si la barra de estado no va a sufrir modificaciones en el ciclo de vida de la aplicación, os recomiendo añadir las opciones en el siguiente método del delegado.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    ////// ****** Si NO quermos barra de estado descomentar  ******//////
    //[[UIApplication sharedApplication] setStatusBarHidden:YES];
    
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];
    return YES;
}

Si queremos ocultar la barra de estado en un ViewController en concreto

- (void)viewWillAppear:(BOOL)animated
{
    [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
}

- (void)viewWillDisappear:(BOOL)animated
{
    [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];

}

Finalmente si los viewcontroller se encuentran dentro de un navigationcontroller podemos modificar la barra de estado añadiendo el siguiente método

-(UIStatusBarStyle) preferredStatusBarStyle
{
    return UIStatusBarStyleDefault;
}

Como anexo os adjunto una sencilla línea de código que yo siempre utilizo cuando hay cualquier conexión y transferencia de datos. Con ella podréis añadir y quitar el indicador de actividad en la barra de estado.

[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];





Como siempre espero que os resulte útil. Saludos.

No hay comentarios:

Publicar un comentario